Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas FAUVERGUE2015-11-17 22:56:09 +0000
committerGerrit Code Review @ Eclipse.org2015-11-18 11:45:34 +0000
commit524fda0d6af2acbb9f6931ff1e1bd2c3d5ddb6ef (patch)
tree0f17134c7bc8880017f8d643e0e72b6ec20f1ec2
parent5c6b9f2134605509211bcf3ef271799e1554d5f2 (diff)
downloadorg.eclipse.papyrus-524fda0d6af2acbb9f6931ff1e1bd2c3d5ddb6ef.tar.gz
org.eclipse.papyrus-524fda0d6af2acbb9f6931ff1e1bd2c3d5ddb6ef.tar.xz
org.eclipse.papyrus-524fda0d6af2acbb9f6931ff1e1bd2c3d5ddb6ef.zip
Bug 476618: [Table] Improve the re-import mechanism in an existing table
https://bugs.eclipse.org/bugs/show_bug.cgi?id=476618 Implementation of JUnit tests for the feature paste/insert/import in table. Change-Id: I79480d6b49ee6033a4cd8ac1e6d85337c094c3ac Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.csv3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.csv4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation29
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation29
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation20
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation29
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation29
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation30
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml77
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportCellsTest.java47
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportEmptyTest.java45
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportRowsTest.java47
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportTest.java151
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportCellsAll_Test.java51
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyAddAll_Test.java44
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyReplaceAll_Test.java44
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptySkipAll_Test.java55
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsAddAll_Test.java58
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsReplaceAll_Test.java58
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsSkipAll_Test.java68
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertEmptyTest.java45
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertRowsTest.java47
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertTest.java139
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAddAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyReplaceAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptySkipAll_Test.java68
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyWarningNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAddAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailRows_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsReplaceAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsSkipAll_Test.java68
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsWarningNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java121
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteInsertTest.java204
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteOverwriteTest.java113
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java42
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java42
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java43
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java47
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java58
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java68
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java42
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java57
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractPasteTests.java1332
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/Bug443814_Enumeration.java335
-rwxr-xr-xtests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/tests/AllTests.java88
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.csv26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.csv51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Result.txt101
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.csv51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt89
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.csv51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.csv51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.csv52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt89
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.csv52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.csv27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.csv52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt89
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt89
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt5
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt5
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation71
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation63
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt5
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Result.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Result.txt89
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation80
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt13
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml15
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt12
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt5
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation67
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt26
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_H1_V3_H1_MultiColumns_Test.txt45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_V1_V3_V1_MultiColumns_Test.txt52
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_AttachedMode_Test.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_AttachedMode_Test.txt102
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_DetachedMode_Test.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.txt102
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportCellsTest.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportEmptyTest.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportRowsTest.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportTest.java148
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_H1_H1_H1_MultiColumns_Test.java50
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_V1_V3_V1_MultiColumns_Test.java50
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.java54
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.java54
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java54
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java54
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.java65
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.java65
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.java79
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.java79
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertEmptyTest.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertRowsTest.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertTest.java140
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java69
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.java60
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.java71
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.java71
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.java69
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java125
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteInsertTest.java420
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteOverwriteTest.java122
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.java31
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.java31
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java60
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java49
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java60
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.java46
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java70
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java69
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java60
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java69
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java134
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.csv3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.csv4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation35
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di2
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt3
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt4
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportCellsTest.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportEmptyTest.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportRowsTest.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportTest.java147
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportCellsAll_Test.java51
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyAddAll_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyReplaceAll_Test.java44
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptySkipAll_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsAddAll_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsReplaceAll_Test.java58
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsSkipAll_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertEmptyTest.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertRowsTest.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertTest.java137
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAddAll_Test.java43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyFailColumns_Test.java42
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyReplaceAll_Test.java43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptySkipAll_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyWarningNotExisting_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAddAll_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailRows_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsReplaceAll_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsSkipAll_Test.java68
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsWarningNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java121
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteInsertTest.java199
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteOverwriteTest.java119
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java37
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java27
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java42
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java41
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java47
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java42
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java43
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java55
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java45
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java42
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java59
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java56
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java57
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java59
-rwxr-xr-xtests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java89
962 files changed, 30919 insertions, 938 deletions
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.csv
new file mode 100644
index 00000000000..37d903b323d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.csv
@@ -0,0 +1,3 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.notation
new file mode 100644
index 00000000000..b7fb36f7b96
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportCellsAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportCellsAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Result.txt
new file mode 100644
index 00000000000..aba13c61ed0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportCellsAll_Test_Result.txt
@@ -0,0 +1,6 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.notation
new file mode 100644
index 00000000000..4a52c39c8a7
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Result.txt
new file mode 100644
index 00000000000..aba13c61ed0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.notation
new file mode 100644
index 00000000000..09a0edf6357
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.notation
new file mode 100644
index 00000000000..1bb99e9197e
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Result.txt
new file mode 100644
index 00000000000..680bfecf9c6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportEmptySkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.notation
new file mode 100644
index 00000000000..6bd4e4709b5
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Result.txt
new file mode 100644
index 00000000000..aba13c61ed0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.notation
new file mode 100644
index 00000000000..ebc93cbb4ba
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.csv b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.csv
new file mode 100644
index 00000000000..65cbefdfffa
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.csv
@@ -0,0 +1,4 @@
+;Class1;aaaa
+;CopyOf_Class1_1;bbbb
+;CopyOf_Class1_2;cccc
+;;
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.notation
new file mode 100644
index 00000000000..186d5a1a3bb
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="ImportRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..680bfecf9c6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/import/ImportRowsSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.notation
new file mode 100644
index 00000000000..cc0f9c463a2
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt
new file mode 100644
index 00000000000..aba13c61ed0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..82f5cca1bb7
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1etgAG5bEeWpLowMLPbtlg" element="property_of_stereotype:/SysML::Requirements::Requirement::derived">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_GF2RQHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_GF4GcHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_GF4tgHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..fb47d81445a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+
+
+ \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.notation
new file mode 100644
index 00000000000..6656dcc114d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptyFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_JZP7sHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JZP7sXmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JZQiwHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b973b81efd4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1
+ Class2
+ Class3
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.notation
new file mode 100644
index 00000000000..48fb7dde30f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.notation
new file mode 100644
index 00000000000..eb8212be3d1
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt
new file mode 100644
index 00000000000..680bfecf9c6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..738553e8f69
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_Ogx2MHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OgydQHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..f58ea2a12f9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.notation
new file mode 100644
index 00000000000..f0dcb3d1b4a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Result.txt
new file mode 100644
index 00000000000..aba13c61ed0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..f43da3eddb1
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1etgAG5bEeWpLowMLPbtlg" element="property_of_stereotype:/SysML::Requirements::Requirement::derived">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_GF2RQHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_GF4GcHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_GF4tgHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..fb47d81445a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+
+
+ \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.notation
new file mode 100644
index 00000000000..39de2f2247c
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_JZP7sHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JZP7sXmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JZQiwHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b973b81efd4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1
+ Class2
+ Class3
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.notation
new file mode 100644
index 00000000000..daf8fbea3b7
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_MpQT4HmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_MpQ68HmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpQ68XmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.notation
new file mode 100644
index 00000000000..21d70df0ce3
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.notation
new file mode 100644
index 00000000000..36fbea1d688
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..680bfecf9c6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..b92171ac7ad
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="InsertRowsWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_Ogx2MHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OgydQHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..f58ea2a12f9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..52ef23c5a8c
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..10d4176a2fb
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation
new file mode 100644
index 00000000000..a17455b98eb
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt
new file mode 100644
index 00000000000..10d4176a2fb
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..148b17f5664
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..2b75a0fb70a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..89fa1d4ec5f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..10d4176a2fb
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation
new file mode 100644
index 00000000000..2ab3bbfcaea
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt
new file mode 100644
index 00000000000..1ea4603cc65
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 Class1
+ Class2 Class2
+ Class3 Class3
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt
new file mode 100644
index 00000000000..da7f8e592c4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1
+Class2
+Class3
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..bf245104178
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..cb75f54722a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..bd8fa606f16
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ Class2 bbbb
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation
new file mode 100644
index 00000000000..eda883fd956
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..0984e6509f9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1etgAG5bEeWpLowMLPbtlg" element="property_of_stereotype:/SysML::Requirements::Requirement::derived">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_GF2RQHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_GF4GcHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_GF4tgHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..fb47d81445a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+
+
+ \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..c6016a048af
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_JZP7sHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JZP7sXmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JZQiwHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b973b81efd4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1
+ Class2
+ Class3
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation
new file mode 100644
index 00000000000..74d61d4d128
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation
new file mode 100644
index 00000000000..8e465534456
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..99918cd0f85
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_Ogx2MHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OgydQHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..f58ea2a12f9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..c0caaca92e7
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="__iG3cHmnEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="__iSdoHmnEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="__iTEsHmnEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..56aa9b26222
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..b05f44a9e87
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ CopyOf_Class1_1 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..88b4fd57db2
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1etgAG5bEeWpLowMLPbtlg" element="property_of_stereotype:/SysML::Requirements::Requirement::derived">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_GF2RQHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_GF4GcHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_GF4tgHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..fb47d81445a
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+
+
+ \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..b4cb4d7d5f5
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_JZP7sHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JZP7sXmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JZQiwHmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b973b81efd4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1
+ Class2
+ Class3
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..33aa8c9a027
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_MpQT4HmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_MpQ68HmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpQ68XmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..e39c478894d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ Class3 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..0c15567b66b
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_FERfIGhHEeWchZKsEGp2Eg" name="RequirementTable0" currentRowAxisProvider="_FESGMWhHEeWchZKsEGp2Eg" currentColumnAxisProvider="_FERfIWhHEeWchZKsEGp2Eg">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_FERfIWhHEeWchZKsEGp2Eg" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FERfImhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FERfI2hHEeWchZKsEGp2Eg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_FESGMGhHEeWchZKsEGp2Eg" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_FESGMWhHEeWchZKsEGp2Eg" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_Ogx2MHmoEeWVZIGG1XbiFw" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OgydQHmoEeWVZIGG1XbiFw" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+ <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..bbeea505249
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+ <uml:Model xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZN74GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZN74WgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZOi8GgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPKAGgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZPxEGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZPxEWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQYIGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQYIWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZQ_MGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZQ_MWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZRmQGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZRmQWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZSNUGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZSNUWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZS0YGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZS0YWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZTbcGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZTbcWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUCgGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUCgWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4ZUpkGgREeW_BJ00xUargw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4ZUpkWgREeW_BJ00xUargw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_CA5NsGhHEeWchZKsEGp2Eg" base_Class="_pYCiwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_CrCW4GhHEeWchZKsEGp2Eg" base_Class="_p2QIwGIeEeWkqekCWoLl5g"/>
+ <Requirements:Requirement xmi:id="_DaVF0GhHEeWchZKsEGp2Eg" base_Class="_p5RnkGIeEeWkqekCWoLl5g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..3425e9bb95d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+ Class1
+ CopyOf_Class1_1
+ CopyOf_Class1_2 \ No newline at end of file
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..f58ea2a12f9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+ Class1 aaaa
+ CopyOf_Class1_1
+ CopyOf_Class1_2 cccc
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..b2b4754658f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+ Class1 aaaa
+ Class2 bbbb
+ CopyOf_Class1_2 cccc
+
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportCellsTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportCellsTest.java
new file mode 100644
index 00000000000..d474492972e
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportCellsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportCellsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportEmptyTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportEmptyTest.java
new file mode 100644
index 00000000000..cbe4181f118
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportEmptyTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportRowsTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportRowsTest.java
new file mode 100644
index 00000000000..1f10605c14d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportRowsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportTest.java
new file mode 100644
index 00000000000..42216bb84ad
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/AbstractImportTest.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+
+/**
+ * This class allows to manage the import CSV file tests.
+ */
+public abstract class AbstractImportTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/import/"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate if the final dialog must be opened for the import.
+ */
+ public static final String OPEN_DIALOG_BOOLEAN_PARAMETER = "openDialog"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate the selected file path.
+ */
+ public static final String SELECTED_FILE_PATH_STRING_PARAMETER = "selectedFilePath"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractImportTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testImport() throws Exception {
+ // Open the table and get the manager
+ testOpenExistingTable(getClass().getSimpleName(), "RequirementTable0"); //$NON-NLS-1$
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ flushDisplayEvents();
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); // $NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(ImportTableHandler.OPEN_DIALOG_BOOLEAN_PARAMETER, Boolean.FALSE);
+ manageParameters(parameters, manager);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ cmd.executeWithChecks(event);
+
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ // Create the path for the csv to load (must be with the following form : 'resources/import/TableName.csv')
+ URI uri = manager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.CSV_EXTENSIOn);
+
+ String csvFileAsString = getWantedString(buffer.toString());
+
+ parameters.put(ImportTableHandler.SELECTED_FILE_PATH_STRING_PARAMETER, csvFileAsString);
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportCellsAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportCellsAll_Test.java
new file mode 100644
index 00000000000..595859f0892
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportCellsAll_Test.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportCellsAll_Test extends AbstractImportCellsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportCellsAll_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.importfile.AbstractImportEmptyTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing : The undo/redo is not implemented for the old basic paste
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyAddAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyAddAll_Test.java
new file mode 100644
index 00000000000..3eb0906b5b6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyAddAll_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyAddAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyAddAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyReplaceAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyReplaceAll_Test.java
new file mode 100644
index 00000000000..ee3f73ac463
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptyReplaceAll_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyReplaceAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptySkipAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptySkipAll_Test.java
new file mode 100644
index 00000000000..0fcf2b0c7f6
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportEmptySkipAll_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptySkipAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptySkipAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsAddAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsAddAll_Test.java
new file mode 100644
index 00000000000..4ff52804eac
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsAddAll_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsAddAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsReplaceAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsReplaceAll_Test.java
new file mode 100644
index 00000000000..0c2c09ad125
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsReplaceAll_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsReplaceAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsSkipAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsSkipAll_Test.java
new file mode 100644
index 00000000000..1306ad2a73c
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/importfile/ImportRowsSkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsSkipAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertEmptyTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertEmptyTest.java
new file mode 100644
index 00000000000..bc61b0008d9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertEmptyTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertRowsTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertRowsTest.java
new file mode 100644
index 00000000000..513db46dbe1
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertRowsTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertTest.java
new file mode 100644
index 00000000000..5ea41eb97fe
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/AbstractInsertTest.java
@@ -0,0 +1,139 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.junit.utils.GenericUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/insert/"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractInsertTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testInsert() throws Exception {
+ // Open the table and get the manager
+ testOpenExistingTable(getClass().getSimpleName(), "RequirementTable0"); //$NON-NLS-1$
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); // $NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters) {
+ // Do nothing
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAddAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAddAll_Test.java
new file mode 100644
index 00000000000..b354eff7a09
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAddAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyAddAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..4caccb4924b
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyAxisIdentifierNotExisting_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyFailColumns_Test.java
new file mode 100644
index 00000000000..533f8107b46
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertEmptyFailColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyReplaceAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyReplaceAll_Test.java
new file mode 100644
index 00000000000..91861a48e2b
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyReplaceAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyReplaceAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptySkipAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptySkipAll_Test.java
new file mode 100644
index 00000000000..dd645cbc668
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptySkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptySkipAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptySkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyWarningNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyWarningNotExisting_Test.java
new file mode 100644
index 00000000000..5c3962e3a33
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertEmptyWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyWarningNotExisting_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAddAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAddAll_Test.java
new file mode 100644
index 00000000000..16d6ecd8c3d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAddAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsAddAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..8fbcc711713
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsAxisIdentifierNotExisting_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailColumns_Test.java
new file mode 100644
index 00000000000..633faac38e8
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertRowsFailColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailRows_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailRows_Test.java
new file mode 100644
index 00000000000..0bafd6ad9b9
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class InsertRowsFailRows_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsReplaceAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsReplaceAll_Test.java
new file mode 100644
index 00000000000..e45a6c9e3e3
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsReplaceAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsReplaceAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsSkipAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsSkipAll_Test.java
new file mode 100644
index 00000000000..10cb2fc9393
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsSkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsSkipAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsWarningNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsWarningNotExisting_Test.java
new file mode 100644
index 00000000000..e3e94e0dc32
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/insert/InsertRowsWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsWarningNotExisting_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
new file mode 100644
index 00000000000..70f131f2c59
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteCellsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
new file mode 100644
index 00000000000..7183eac69cd
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteColumnsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
new file mode 100644
index 00000000000..1482caa2b86
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteEmptyOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Override
+ @Test
+ public void testPaste() throws Exception {
+ // Open the table and get the manager
+ testOpenExistingTable(getClass().getSimpleName(), "RequirementTable0"); //$NON-NLS-1$
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters) {
+ // Do nothing
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteInsertTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteInsertTest.java
new file mode 100644
index 00000000000..de37bb27a2c
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteInsertTest.java
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.TableClipboardUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.junit.utils.GenericUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit.AbstractOpenTableTest;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteInsertTest extends AbstractOpenTableTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String PASTE_FOLDER_PATH = "/resources/paste_overwrite/"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the initial content.
+ */
+ public static final String INITIAL_POST_FILE_NAME = "_Initial"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the content to copy.
+ */
+ public static final String TOCOPY_POST_FILE_NAME = "_ToCopy"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the result content.
+ */
+ public static final String RESULT_POST_FILE_NAME = "_Result"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteInsertTest() {
+ super();
+ }
+
+ /**
+ * Initialize the model.
+ *
+ * @throws Exception
+ * The caught exception.
+ */
+ @Before
+ public void initModel() throws Exception {
+ initModel("RequirementTable0", getClass().getSimpleName(), getBundle()); //$NON-NLS-1$
+ };
+
+ /**
+ * This allows to set the selection in table for the paste. The initial selection is the first cell of the table.
+ *
+ * @param manager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ public abstract void manageSelection(final NattableModelManager manager) throws Exception;
+
+ /**
+ * This allows to test the undo redo commands.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Check the undo
+ getTransactionalEditingDomain().getCommandStack().undo();
+ // Check the table context after undo
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Check the redo
+ getTransactionalEditingDomain().getCommandStack().redo();
+ // Check the table context after redo
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+ }
+
+ /**
+ * This allows to check the returned status.
+ *
+ * @param status
+ * The status.
+ */
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertTrue("The status must be OK", status.isOK()); //$NON-NLS-1$
+ }
+
+ /**
+ * This allows to check the table content comparing the table content with file content.
+ *
+ * @param manager
+ * The nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to check.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void checkTableContent(final NattableModelManager manager, final String suffixFileName) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ flushDisplayEvents();
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.selectAll();
+ manager.copyToClipboard();
+ String clipboard = getClipboardContent();
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertNotNull("Clipboard must not be null", clipboard); //$NON-NLS-1$
+ String str = getWantedString(getSuffixStateFileName(manager, suffixFileName));
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertEquals("The clipboard must be equals to string which one it is filled", str, clipboard); //$NON-NLS-1$
+ }
+
+ /**
+ * Get the string content from a file.
+ *
+ * @param fileName
+ * a file name
+ * @return
+ * the text stored in the file associated to this test
+ */
+ protected String getWantedString(final String fileName) {
+ return FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName, FileUtils.getSystemPropertyLineSeparator());// $NON-NLS-1$
+ }
+
+ /**
+ * Get the file name corresponding to the model with the suffix in parameter.
+ *
+ * @param manager
+ * The nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to get.
+ * @return The file name corresponding
+ */
+ protected String getSuffixStateFileName(final NattableModelManager manager, final String suffixFileName) {
+ URI uri = manager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(suffixFileName);
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.TEXT_EXTENSION);
+ return buffer.toString();
+ }
+
+ /**
+ * Get the clipboard contents.
+ *
+ * @return
+ * the clipboard contents.
+ */
+ protected String getClipboardContent() {
+ String clipboard = TableClipboardUtils.getClipboardContentsAsString();
+ return clipboard;
+ }
+
+ /**
+ * This allows to fill the clipboard with the string in parameter.
+ *
+ * @param newClipBoardContents
+ * The string needed to fill the clipboard.
+ */
+ protected void fillClipboard(final String newClipBoardContents) {
+
+ // its seems that the clipboard must be filled with the same way than we read it!
+ java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+
+ StringSelection s = new StringSelection(newClipBoardContents);
+ clipboard.setContents(s, s);
+ }
+
+ /**
+ * This allow to close the opened editors.
+ */
+ @AfterClass
+ public static void endOfTest() {
+ GenericUtils.closeAllEditors();
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteOverwriteTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteOverwriteTest.java
new file mode 100644
index 00000000000..34b9489c8fe
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteOverwriteTest.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteOverwriteTest extends AbstractPasteInsertTest {
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteOverwriteTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testPaste() throws Exception {
+ // Open the table and get the manager
+ testOpenExistingTable(getClass().getSimpleName(), "RequirementTable0"); //$NON-NLS-1$
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return PASTE_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
new file mode 100644
index 00000000000..65cded2830f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteRowsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java
new file mode 100644
index 00000000000..d7d05105b9e
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteCellsOverwriteAll_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java
new file mode 100644
index 00000000000..c96e4bd7bba
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteCellsOverwriteByOneLine_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteByOneLine_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..f6baaebcc0b
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteCellsOverwriteFailColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..5562955bfad
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteCellsOverwriteFailRows_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java
new file mode 100644
index 00000000000..ddd11bb39da
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteColumnsOverwriteAll_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java
new file mode 100644
index 00000000000..6540400fd9b
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteColumnsOverwriteByOneLine_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteByOneLine_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 0, false, false));
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..cd7f5820430
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteColumnsOverwriteFailColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..aaaee86fc5f
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteColumnsOverwriteFailRows_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java
new file mode 100644
index 00000000000..576f3191021
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAddAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..7627c8e3aca
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAxisIdentifierNotExisting_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..6e39521a9b4
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteEmptyOverwriteFailColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java
new file mode 100644
index 00000000000..e68e544b934
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteReplaceAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java
new file mode 100644
index 00000000000..a6f340b45bf
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteSkipAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java
new file mode 100644
index 00000000000..e7e5d73bf11
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteWarningNotExisting_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java
new file mode 100644
index 00000000000..36b3ccbd5a0
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAll_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..84236acd71d
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAxisIdentifierNotExisting_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..c6c07a0a370
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteRowsOverwriteFailColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..6cb3f617572
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteRowsOverwriteFailRows_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java
new file mode 100644
index 00000000000..1bc17741166
--- /dev/null
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteWarningNotExisting_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractPasteTests.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractPasteTests.java
index f6fd94403c5..ef67f3ccee0 100644
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractPasteTests.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractPasteTests.java
@@ -1,666 +1,666 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit;
-
-import java.awt.Toolkit;
-import java.awt.datatransfer.StringSelection;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
-import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
-import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectTreeItemAxis;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
-import org.eclipse.papyrus.infra.nattable.utils.AxisConfigurationUtils;
-import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
-import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
-import org.eclipse.papyrus.infra.tools.util.FileUtils;
-import org.eclipse.papyrus.junit.framework.classification.InvalidTest;
-import org.eclipse.papyrus.junit.utils.EditorUtils;
-import org.eclipse.papyrus.junit.utils.GenericUtils;
-import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
-import org.eclipse.papyrus.junit.utils.ProjectUtils;
-import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.VisibilityKind;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-
-/**
- * @author VL222926
- *
- */
-public abstract class AbstractPasteTests extends AbstractOpenTableTest {
-
- public static final String PASTE_FOLDER_PATH = "/resources/paste_tests/"; //$NON-NLS-1$
-
- public static final String OPERATION_BASE_NAME = "Operation"; //$NON-NLS-1$
-
- public static final String PARAMETER_BASE_NAME = "Param"; //$NON-NLS-1$
-
- public static final String PROPERTY_BASE_NAME = "Property"; //$NON-NLS-1$
-
- public static final String CLASS_BASE_NAME = "Class"; //$NON-NLS-1$
-
- public static final String NESTED_CLASS_BASE_NAME = "NestedClass"; //$NON-NLS-1$
-
- public static final String CLASS_ELEMENT_ID = "org.eclipse.papyrus.uml.Class"; //$NON-NLS-1$
- public static final String OPERATION_ELEMENT_ID = "org.eclipse.papyrus.uml.Operation"; //$NON-NLS-1$
- public static final String PARAMETER_ELEMENT_ID = "org.eclipse.papyrus.uml.Parameter"; //$NON-NLS-1$
- public static final String PROPERTY_ELEMENT_ID = "org.eclipse.papyrus.uml.Property"; //$NON-NLS-1$
-
-
- @Before
- public void initModel() throws Exception {
- initModel("requirementTable", getClass().getSimpleName(), getBundle()); //$NON-NLS-1$
- };
-
- /**
- * Inits this.editor
- * Fails or throws an exception if an error occurs
- *
- * @param bundle
- * the source bundle where the model is store
- * @param projectName
- * the project that will created at runtime to execute test
- * @param modelName
- * the model that will be copied and test executed on.
- */
- protected void initModel(String projectName, String modelName, Bundle bundle) throws Exception {
- project = ProjectUtils.createProject(projectName);
- final IFile project1 = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), "library"); //$NON-NLS-1$
- Display.getDefault().syncExec(new Runnable() {
-
- public void run() {
- try {
- editor = EditorUtils.openPapyrusEditor(project1);
- } catch (Exception ex) {
- Activator.log.error(ex);
- Assert.fail(ex.getMessage());
- }
- }
- });
-
- final IFile porject2 = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), "model.profile"); //$NON-NLS-1$
- Display.getDefault().syncExec(new Runnable() {
-
- public void run() {
- try {
- editor = EditorUtils.openPapyrusEditor(porject2);
- } catch (Exception ex) {
- Activator.log.error(ex);
- Assert.fail(ex.getMessage());
- }
- }
- });
-
- this.diModelFile = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), modelName);
- Display.getDefault().syncExec(new Runnable() {
-
- public void run() {
- try {
- editor = EditorUtils.openPapyrusEditor(diModelFile);
- } catch (Exception ex) {
- Activator.log.error(ex);
- Assert.fail(ex.getMessage());
- }
- }
- });
-
- Assert.assertNotNull(editor);
- }
-
-
- protected INattableModelManager getTableManager() {
- IEditorPart tableEditor = editor.getActiveEditor();
- Assert.assertTrue(tableEditor instanceof NatTableEditor);
- INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
- return manager;
- }
-
- /**
- *
- * @throws Exception
- */
- @Test
- public void checkModelForTestConsistency() throws Exception {
- Assert.assertTrue(!getTable().isInvertAxis());
- Assert.assertEquals(org.eclipse.papyrus.sysml.nattable.requirement.config.Activator.TABLE_TYPE, getTable().getTableConfiguration().getType());
- Assert.assertEquals(6, getTable().getCurrentColumnAxisProvider().getAxis().size());
- final IPasteConfiguration conf = (IPasteConfiguration) AxisConfigurationUtils.getIAxisConfigurationUsedInTable(getTable(), NattableaxisconfigurationPackage.eINSTANCE.getPasteEObjectConfiguration(), false);
- Assert.assertTrue(conf.isDetachedMode());
- }
-
- /**
- *
- * @throws Exception
- *
- * This method tests
- * <ul>
- * <li>the open of the table</li>
- * <li>the paste of the table (must be enabled)</li>
- * <li>the new contents of the semantic model</li>
- * <li>the expand (indirectly)</li>
- * <li>the final contents of the table (compared to the pasted string)</li>
- * </ul>
- */
- @Test
- public void testPaste() throws Exception {
- testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
- IEditorPart tableEditor = editor.getActiveEditor();
- Assert.assertTrue(tableEditor instanceof NatTableEditor);
- INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
- // Assert.assertTrue(manager instanceof ITreeNattableModelManager);
-
- List<?> rowElements = manager.getRowElementsList();
- int size = rowElements.size();
- Assert.assertEquals(1, size);
-
- // fill the clipboard
- ICommandService commandService = EclipseCommandUtils.getCommandService();
- Assert.assertNotNull(commandService);
- String fileName = getPasteFileName();
- String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
- fillClipboard(str);
-
- Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
- IHandler handler = cmd.getHandler();
- Assert.assertTrue(handler.isEnabled());
-
-
- Map<Object, Object> parameters = new HashMap<Object, Object>();
- parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
- parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
- ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
- flushDisplayEvents();
- Object res = cmd.executeWithChecks(event);
- Assert.assertTrue(res instanceof IStatus);
- IStatus iStatus = (IStatus) res;
- validateReturnedStatus(iStatus);
- if (iStatus.isOK()) {
- verifyModelContents();
- checkTableDataStructure();
- checkCopyToClipboard(str);
- }
- }
-
- protected final void validateReturnedStatus(IStatus status) {
- Assert.assertTrue(status.isOK());
- }
-
- /**
- * This method verifies than the contents of the model is conform to the wanted result
- *
- * @throws Exception
- */
- protected final void verifyModelContents() throws Exception {
- // useful in detached mode to apply stereotype ?
- flushDisplayEvents();
-
- Package context = (Package) getTable().getContext();
- List<NamedElement> members = context.getOwnedMembers();
- Collection<Class> requirements = new HashSet<Class>();
- for (NamedElement member : members) {
- if (member instanceof Class) {
- checkClass((Class) member);
- requirements.add((Class) member);
- }
- }
-
-
- Assert.assertEquals(4, requirements.size());
- }
-
- public static final String REQUIREMENT1_NAME = "Requirement1"; //$NON-NLS-1$
- public static final String REQUIREMENT2_NAME = "Requirement2"; //$NON-NLS-1$
- public static final String REQUIREMENT3_NAME = "Requirement3"; //$NON-NLS-1$
-
- private boolean checkClassColor = false;
-
- @InvalidTest
- @Test
- public void testPasteCheckingColor() throws Exception {
- this.checkClassColor = true;
- testPaste();
- }
-
- protected void checkClass(Class clazz) throws Exception {
- String name = clazz.getName();
-
- Stereotype reqSte = clazz.getAppliedStereotype("SysML::Requirements::Requirement"); //$NON-NLS-1$
- Stereotype taskSte = clazz.getAppliedStereotype("profile::Task"); //$NON-NLS-1$
- Assert.assertNotNull(reqSte);
- Assert.assertNotNull(taskSte);
- String id = (String) clazz.getValue(reqSte, "id"); //$NON-NLS-1$
- String text = (String) clazz.getValue(reqSte, "text"); //$NON-NLS-1$
- Object priority = clazz.getValue(taskSte, "p"); //$NON-NLS-1$
-
- VisibilityKind visibility = clazz.getVisibility();
- Assert.assertNotNull(NLS.bind("priority is null for {0} ", clazz.getName()), priority);
-
- Assert.assertTrue(NLS.bind("Priority must be an instance of EnumerationLiteral, but it is an instance of {0}", priority.getClass().getName()), priority instanceof EnumerationLiteral);
- EnumerationLiteral priority2 = (EnumerationLiteral) priority;
- Object color = clazz.getValue(taskSte, "color"); //$NON-NLS-1$
- EnumerationLiteral color2 = null;
- if (this.checkClassColor) {
- Assert.assertTrue(NLS.bind("Color must be an instance of EnumerationLiteral, but it is an instance of {0}", color.getClass().getName()), color instanceof EnumerationLiteral);
- Assert.assertNotNull(NLS.bind("color is null for {0} ", clazz.getName()), color);
- color2 = (EnumerationLiteral) color;
- }
- if ("RequirementTest".equals(name)) { //$NON-NLS-1$
- // this is the initial requirement, available in the table
- Assert.assertTrue(id == null || id.isEmpty()); //$NON-NLS-1$
- Assert.assertTrue(text == null || text.isEmpty()); //$NON-NLS-1$
- Assert.assertEquals("medium", priority2.getName()); //$NON-NLS-1$
- if (this.checkClassColor) {
- Assert.assertEquals("red", color2.getName()); //$NON-NLS-1$
- }
- Assert.assertEquals(VisibilityKind.PROTECTED_LITERAL, visibility);
- } else if (REQUIREMENT1_NAME.equals(name)) {
- Assert.assertEquals("id1", id); //$NON-NLS-1$
- Assert.assertEquals("text1", text); //$NON-NLS-1$
- Assert.assertEquals("hight", priority2.getName()); //$NON-NLS-1$
- if (this.checkClassColor) {
- Assert.assertEquals("black", color2.getName()); //$NON-NLS-1$
- }
- Assert.assertEquals(VisibilityKind.PUBLIC_LITERAL, visibility);
- } else if (REQUIREMENT2_NAME.equals(name)) {
- Assert.assertEquals("id2", id); //$NON-NLS-1$
- Assert.assertEquals("text2", text); //$NON-NLS-1$
- Assert.assertEquals("medium", priority2.getName()); //$NON-NLS-1$
- if (this.checkClassColor) {
- Assert.assertEquals("red", color2.getName()); //$NON-NLS-1$
- }
- } else if (REQUIREMENT3_NAME.equals(name)) {
- Assert.assertEquals("id3", id); //$NON-NLS-1$
- Assert.assertEquals("text3", text); //$NON-NLS-1$
- Assert.assertEquals("low", priority2.getName()); //$NON-NLS-1$
- if (this.checkClassColor) {
- Assert.assertEquals("blue", color2.getName()); //$NON-NLS-1$
- }
- } else {
- throw new Exception("There is an error in the test"); //$NON-NLS-1$
- }
- }
-
- /**
- *
- * @param newClipBoardContents
- */
- protected void fillClipboard(String newClipBoardContents) {
-
- // its seems that the clipboard must be filled with the same way than we read it!
- java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
- StringSelection s = new StringSelection(newClipBoardContents);
- clipboard.setContents(s, s);
- }
-
- protected void checkRootClasses(ITreeItemAxis root, EObject parent) {
- Object tmp = AxisUtils.getRepresentedElement(root);
- Assert.assertTrue(tmp instanceof Class);
- Class clazz = (Class) tmp;
- Assert.assertEquals(parent, clazz.eContainer());
-
- }
-
- protected void checkSynchronizedRoot(List<?> elements) throws ServiceException {
- Assert.assertEquals(1, elements.size());
- for (int i = 0; i < elements.size(); i++) {
- // we check the first level
- Object tmp = elements.get(0);
- Assert.assertTrue(tmp instanceof EObjectTreeItemAxis);
- EObjectTreeItemAxis root = (EObjectTreeItemAxis) tmp;
- tmp = AxisUtils.getRepresentedElement(root);
- Assert.assertTrue(tmp instanceof TreeFillingConfiguration);
- TreeFillingConfiguration fillingConf = (TreeFillingConfiguration) tmp;
- tmp = AxisUtils.getRepresentedElement(fillingConf.getAxisUsedAsAxisProvider());
- Assert.assertEquals(UMLPackage.eINSTANCE.getPackage_PackagedElement(), tmp);
-
-
-
-
- // we check the children : 2 classes
- List<ITreeItemAxis> classes = root.getChildren();
- Assert.assertEquals(2, classes.size());
- for (Object current : classes) {
- Assert.assertTrue(current instanceof ITreeItemAxis);
- ITreeItemAxis axis = (ITreeItemAxis) current;
- checkRootClasses(axis, getTable().getContext());
- }
- }
- }
-
- protected void checkDnDRoot(List<?> elements) throws ServiceException {
- Assert.assertEquals(2, elements.size());
- for (int i = 0; i < elements.size(); i++) {
- Object tmp = elements.get(i);
- Assert.assertTrue(tmp instanceof ITreeItemAxis);
- ITreeItemAxis axis = (ITreeItemAxis) tmp;
- checkRootClasses(axis, getTable().getContext());
- }
- }
-
- public void checkTableDataStructure() throws ServiceException {
- flushDisplayEvents();
- final INattableModelManager manager = (INattableModelManager) this.editor.getAdapter(INattableModelManager.class);
- List<Object> rows = manager.getRowElementsList();
- Assert.assertEquals(4, rows.size());
-
- // TODO : do the check using the clipboard
-
- // boolean tmp = true;
- // while (tmp) {
- // try {
- // tmp = Display.getDefault().readAndDispatch();
- // } catch (Exception e) {
- // Activator.log.error(e);
- // }
- // }
- // Display.getDefault().asyncExec(new Runnable() {
- //
- // @Override
- // public void run() {
- // // TODO Auto-generated method stub
- // ((NattableModelManager) manager).doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
- // }
- // });
- // while (tmp) {
- // try {
- // tmp = Display.getDefault().readAndDispatch();
- // } catch (Exception e) {
- // Activator.log.error(e);
- // }
- // }
- // List<?> elements = manager.getRowElementsList();
- //
- // String className = getClass().getSimpleName();
- // className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
- // String[] result = className.split("_"); //$NON-NLS-1$
- // Assert.assertTrue(result.length == 5);
- // String first = result[0];
- // if ("Empty".equals(first)) { //$NON-NLS-1$
- // checkDnDRoot(elements);
- // } else {
- // checkSynchronizedRoot(elements);
- // }
- }
-
-
-
- protected void checkChildrenClasses(ITreeItemAxis axisRepresentingClass) throws Exception {
- List<ITreeItemAxis> axis = axisRepresentingClass.getChildren();
- Assert.assertEquals(3, axis.size());
- ITreeItemAxis propertyAxis = null;
- ITreeItemAxis operationAxis = null;
- ITreeItemAxis nestedClassAxis = null;
- Class clazz = (Class) AxisUtils.getRepresentedElement(axisRepresentingClass);
- for (ITreeItemAxis current : axis) {
- Object tmp = AxisUtils.getRepresentedElement(current);
- if (tmp == UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute()) {
- // property = true;
- propertyAxis = current;
- checkPropertyAxis(propertyAxis, clazz);
- }
- if (tmp == UMLPackage.eINSTANCE.getClass_OwnedOperation()) {
- // operation = true;
- operationAxis = current;
- checkOperationAxis(operationAxis, clazz);
- }
- if (tmp == UMLPackage.eINSTANCE.getClass_NestedClassifier()) {
- nestedClassAxis = current;
- checkNestedClassAxis(nestedClassAxis, clazz);
- // nestedClass = true;
- }
- }
-
- String className = getClass().getSimpleName();
- className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
- String[] result = className.split("_"); //$NON-NLS-1$
- Assert.assertTrue(result.length == 5);
- String depth1 = result[1];
- if (depth1.endsWith("3")) { //$NON-NLS-1$
- Assert.assertNotNull(propertyAxis);
- Assert.assertNotNull(nestedClassAxis);
- Assert.assertNotNull(operationAxis);
-
- } else if (depth1.endsWith("1")) { //$NON-NLS-1$
- Assert.assertTrue(propertyAxis == null);
- Assert.assertTrue(nestedClassAxis == null);
- Assert.assertNotNull(operationAxis);
- } else {
- throw new Exception("We have an error in the tests"); //$NON-NLS-1$
- }
- }
-
- public void checkPropertyAxis(ITreeItemAxis propertyAxis, Class parent) {
- List<ITreeItemAxis> axis = propertyAxis.getChildren();
- Assert.assertEquals(3, axis.size());
- Set<Object> properties = new HashSet<Object>();
- for (ITreeItemAxis tmp : axis) {
- Assert.assertEquals(0, tmp.getChildren());
- Object representedElement = AxisUtils.getRepresentedElement(tmp);
- Assert.assertTrue(representedElement instanceof Property);
- Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
- properties.add(representedElement);
- }
- // if not a property is marked several time has children of it parent itreeitemaxis
- Assert.assertEquals(3, properties.size());
- }
-
- public void checkNestedClassAxis(ITreeItemAxis nestedClassAxis, Class parent) {
- List<ITreeItemAxis> axis = nestedClassAxis.getChildren();
- Assert.assertEquals(3, axis.size());
- Set<Object> properties = new HashSet<Object>();
- for (ITreeItemAxis tmp : axis) {
- Assert.assertEquals(0, tmp.getChildren());
- Object representedElement = AxisUtils.getRepresentedElement(tmp);
- Assert.assertTrue(representedElement instanceof Class);
- Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
- properties.add(representedElement);
- }
- // if not a property is marked several time has children of it parent itreeitemaxis
- Assert.assertEquals(3, properties.size());
-
- }
-
- public void checkOperationAxis(ITreeItemAxis operationAxis, Class parent) {
- List<ITreeItemAxis> axis = operationAxis.getChildren();
- Assert.assertEquals(3, axis.size());
- Set<Object> properties = new HashSet<Object>();
- for (ITreeItemAxis tmp : axis) {
- Assert.assertEquals(1, tmp.getChildren());
- ITreeItemAxis parameterAxis = tmp.getChildren().get(0);
- Assert.assertEquals(UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameter(), AxisUtils.getRepresentedElement(parameterAxis.getElement()));
- Object representedElement = AxisUtils.getRepresentedElement(tmp);
- Assert.assertTrue(representedElement instanceof Operation);
- Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
- properties.add(representedElement);
- checkParameterAxis(parameterAxis, (Operation) representedElement);
- }
- // if not a property is marked several time has children of it parent itreeitemaxis
- Assert.assertEquals(3, properties.size());
- }
-
-
- public void checkParameterAxis(ITreeItemAxis parameterAxis, Operation parent) {
- List<ITreeItemAxis> axis = parameterAxis.getChildren();
- Assert.assertEquals(3, axis.size());
- Set<Object> parameters = new HashSet<Object>();
- for (ITreeItemAxis tmp : axis) {
- Assert.assertEquals(0, tmp.getChildren());
- Object representedElement = AxisUtils.getRepresentedElement(tmp);
- Assert.assertTrue(representedElement instanceof Parameter);
- Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
- parameters.add(representedElement);
- }
- // if not a property is marked several time has children of it parent itreeitemaxis
- Assert.assertEquals(3, parameters.size());
- }
-
- public void verifyTableContents_1_1_1(List<?> elements) {
- Assert.assertEquals(1, elements.size());
- }
-
- /**
- * This method verify the general appearance of the table, currently it doesn't work, because the tree header are not included in the clipboard
- *
- * @param pastedString
- * @throws Exception
- */
- protected void checkCopyToClipboard(final String pastedString) throws Exception {
-
- if (true) {// TODO, fixme
- return;
- }
- // final INattableModelManager manager = (INattableModelManager) this.editor.getAdapter(INattableModelManager.class);
- //
- // boolean tmp = true;
- // while (tmp) {
- // try {
- // tmp = Display.getDefault().readAndDispatch();
- // } catch (Exception e) {
- // Activator.log.error(e);
- // }
- // }
- // Display.getDefault().asyncExec(new Runnable() {
- //
- // @Override
- // public void run() {
- // // TODO Auto-generated method stub
- // ((NattableModelManager) manager).doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
- // }
- // });
- // while (tmp) {
- // try {
- // tmp = Display.getDefault().readAndDispatch();
- // } catch (Exception e) {
- // Activator.log.error(e);
- // }
- // }
- // List<?> elements = manager.getRowElementsList();
- // Assert.assertTrue(" the list managing the rows in not a TreeList", elements instanceof TreeList<?>); //$NON-NLS-1$
- // Assert.assertEquals(2, elements.size());
- // String className = getClass().getSimpleName();
- // className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
- // String[] result = className.split("_"); //$NON-NLS-1$
- // Assert.assertTrue(result.length == 5);
- // String depth1 = result[1];
- // // if (depth1.endsWith("3")) { //$NON-NLS-1$
- // // // verifyTableContents_1_3_1(elements);
- // // } else if (depth1.endsWith("1")) { //$NON-NLS-1$
- // // verifyTableContents_1_1_1(elements);
- // // } else {
- // // throw new Exception("We have an error in the tests"); //$NON-NLS-1$
- // // }
- //
- // // TODO N
- // // Assert.assertEquals(11, elements.size());
- //
- // manager.selectAll();
- // ((AbstractNattableWidgetManager) manager).copyToClipboard();
- //
- // String clipboardContents = TableClipboardUtils.getClipboardContentsAsString();
- // String fileName = getPasteFileName();
- //
- // // String pastedContents = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID,get filePath, fileNameWithExtension)
- // int i = 0;
- // i++;
- //
- // StringReader clipboardReader = new StringReader(clipboardContents);
- // StringReader fileReader = new StringReader(pastedString);
- // CSVPasteHelper helperClipboard = new CSVPasteHelper();
- // CSVPasteHelper helperfile = new CSVPasteHelper();
- // CSVParser clipboardParser = helperClipboard.createParser(clipboardReader);
- // CSVParser fileParser = helperfile.createParser(fileReader);
- // RowIterator clipboardRowIter = clipboardParser.parse();
- // RowIterator fileRowIter = fileParser.parse();
- // // doesn't work because tree header are not in the clipboard
- // while (clipboardRowIter.hasNext()) {
- // Assert.assertEquals(fileRowIter.hasNext(), clipboardRowIter.hasNext());
- // CellIterator fileCellIterator = fileRowIter.next();
- // CellIterator clipboardCellIterator = clipboardRowIter.next();
- // while (clipboardCellIterator.hasNext()) {
- // Assert.assertEquals(fileCellIterator.hasNext(), clipboardCellIterator.hasNext());
- // String origin = fileCellIterator.next();
- // String current = clipboardCellIterator.next();
- //
- // // contains and not equals, because due to label provider, it could be different
- // Assert.assertTrue(current.contains(origin));
- // }
- // Assert.assertEquals(fileCellIterator.hasNext(), clipboardCellIterator.hasNext());
- // }
- // Assert.assertEquals(fileRowIter.hasNext(), clipboardRowIter.hasNext());
- }
-
- /**
- *
- * @return
- * the name of the paste file to use
- */
- protected String getPasteFileName() {
- StringBuilder builder = new StringBuilder(getClass().getSimpleName());
- builder.append(FileUtils.DOT_STRING);
- builder.append(FileUtils.TEXT_EXTENSION);
- return builder.toString();
- }
-
-
-
-
-
- @Override
- protected String getSourcePath() {
- return PASTE_FOLDER_PATH;
- }
-
- @Override
- protected Bundle getBundle() {
- return Activator.getDefault().getBundle();
- }
-
- @AfterClass
- public static void endOfTest() {
- GenericUtils.closeAllEditors();
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit;
+
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.utils.AxisConfigurationUtils;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.junit.framework.classification.InvalidTest;
+import org.eclipse.papyrus.junit.utils.EditorUtils;
+import org.eclipse.papyrus.junit.utils.GenericUtils;
+import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
+import org.eclipse.papyrus.junit.utils.ProjectUtils;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author VL222926
+ *
+ */
+public abstract class AbstractPasteTests extends AbstractOpenTableTest {
+
+ public static final String PASTE_FOLDER_PATH = "/resources/paste_tests/"; //$NON-NLS-1$
+
+ public static final String OPERATION_BASE_NAME = "Operation"; //$NON-NLS-1$
+
+ public static final String PARAMETER_BASE_NAME = "Param"; //$NON-NLS-1$
+
+ public static final String PROPERTY_BASE_NAME = "Property"; //$NON-NLS-1$
+
+ public static final String CLASS_BASE_NAME = "Class"; //$NON-NLS-1$
+
+ public static final String NESTED_CLASS_BASE_NAME = "NestedClass"; //$NON-NLS-1$
+
+ public static final String CLASS_ELEMENT_ID = "org.eclipse.papyrus.uml.Class"; //$NON-NLS-1$
+ public static final String OPERATION_ELEMENT_ID = "org.eclipse.papyrus.uml.Operation"; //$NON-NLS-1$
+ public static final String PARAMETER_ELEMENT_ID = "org.eclipse.papyrus.uml.Parameter"; //$NON-NLS-1$
+ public static final String PROPERTY_ELEMENT_ID = "org.eclipse.papyrus.uml.Property"; //$NON-NLS-1$
+
+
+ @Before
+ public void initModel() throws Exception {
+ initModel("requirementTable", getClass().getSimpleName(), getBundle()); //$NON-NLS-1$
+ };
+
+ /**
+ * Inits this.editor
+ * Fails or throws an exception if an error occurs
+ *
+ * @param bundle
+ * the source bundle where the model is store
+ * @param projectName
+ * the project that will created at runtime to execute test
+ * @param modelName
+ * the model that will be copied and test executed on.
+ */
+ protected void initModel(String projectName, String modelName, Bundle bundle) throws Exception {
+ project = ProjectUtils.createProject(projectName);
+ final IFile project1 = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), "library"); //$NON-NLS-1$
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ editor = EditorUtils.openPapyrusEditor(project1);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ Assert.fail(ex.getMessage());
+ }
+ }
+ });
+
+ final IFile porject2 = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), "model.profile"); //$NON-NLS-1$
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ editor = EditorUtils.openPapyrusEditor(porject2);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ Assert.fail(ex.getMessage());
+ }
+ }
+ });
+
+ this.diModelFile = PapyrusProjectUtils.copyPapyrusModel(project, bundle, getSourcePath(), modelName);
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ editor = EditorUtils.openPapyrusEditor(diModelFile);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ Assert.fail(ex.getMessage());
+ }
+ }
+ });
+
+ Assert.assertNotNull(editor);
+ }
+
+
+ protected INattableModelManager getTableManager() {
+ IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue(tableEditor instanceof NatTableEditor);
+ INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ return manager;
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ @Test
+ public void checkModelForTestConsistency() throws Exception {
+ Assert.assertTrue(!getTable().isInvertAxis());
+ Assert.assertEquals(org.eclipse.papyrus.sysml.nattable.requirement.config.Activator.TABLE_TYPE, getTable().getTableConfiguration().getType());
+ Assert.assertEquals(6, getTable().getCurrentColumnAxisProvider().getAxis().size());
+ final IPasteConfiguration conf = (IPasteConfiguration) AxisConfigurationUtils.getIAxisConfigurationUsedInTable(getTable(), NattableaxisconfigurationPackage.eINSTANCE.getPasteEObjectConfiguration(), false);
+ Assert.assertTrue(conf.isDetachedMode());
+ }
+
+ /**
+ *
+ * @throws Exception
+ *
+ * This method tests
+ * <ul>
+ * <li>the open of the table</li>
+ * <li>the paste of the table (must be enabled)</li>
+ * <li>the new contents of the semantic model</li>
+ * <li>the expand (indirectly)</li>
+ * <li>the final contents of the table (compared to the pasted string)</li>
+ * </ul>
+ */
+ @Test
+ public void testPaste() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue(tableEditor instanceof NatTableEditor);
+ INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ // Assert.assertTrue(manager instanceof ITreeNattableModelManager);
+
+ List<?> rowElements = manager.getRowElementsList();
+ int size = rowElements.size();
+ Assert.assertEquals(1, size);
+
+ // fill the clipboard
+ ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull(commandService);
+ String fileName = getPasteFileName();
+ String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ IHandler handler = cmd.getHandler();
+ Assert.assertTrue(handler.isEnabled());
+
+
+ Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue(res instanceof IStatus);
+ IStatus iStatus = (IStatus) res;
+ validateReturnedStatus(iStatus);
+ if (iStatus.isOK()) {
+ verifyModelContents();
+ checkTableDataStructure();
+ checkCopyToClipboard(str);
+ }
+ }
+
+ protected void validateReturnedStatus(IStatus status) {
+ Assert.assertTrue(status.isOK());
+ }
+
+ /**
+ * This method verifies than the contents of the model is conform to the wanted result
+ *
+ * @throws Exception
+ */
+ protected final void verifyModelContents() throws Exception {
+ // useful in detached mode to apply stereotype ?
+ flushDisplayEvents();
+
+ Package context = (Package) getTable().getContext();
+ List<NamedElement> members = context.getOwnedMembers();
+ Collection<Class> requirements = new HashSet<Class>();
+ for (NamedElement member : members) {
+ if (member instanceof Class) {
+ checkClass((Class) member);
+ requirements.add((Class) member);
+ }
+ }
+
+
+ Assert.assertEquals(4, requirements.size());
+ }
+
+ public static final String REQUIREMENT1_NAME = "Requirement1"; //$NON-NLS-1$
+ public static final String REQUIREMENT2_NAME = "Requirement2"; //$NON-NLS-1$
+ public static final String REQUIREMENT3_NAME = "Requirement3"; //$NON-NLS-1$
+
+ private boolean checkClassColor = false;
+
+ @InvalidTest
+ @Test
+ public void testPasteCheckingColor() throws Exception {
+ this.checkClassColor = true;
+ testPaste();
+ }
+
+ protected void checkClass(Class clazz) throws Exception {
+ String name = clazz.getName();
+
+ Stereotype reqSte = clazz.getAppliedStereotype("SysML::Requirements::Requirement"); //$NON-NLS-1$
+ Stereotype taskSte = clazz.getAppliedStereotype("profile::Task"); //$NON-NLS-1$
+ Assert.assertNotNull(reqSte);
+ Assert.assertNotNull(taskSte);
+ String id = (String) clazz.getValue(reqSte, "id"); //$NON-NLS-1$
+ String text = (String) clazz.getValue(reqSte, "text"); //$NON-NLS-1$
+ Object priority = clazz.getValue(taskSte, "p"); //$NON-NLS-1$
+
+ VisibilityKind visibility = clazz.getVisibility();
+ Assert.assertNotNull(NLS.bind("priority is null for {0} ", clazz.getName()), priority);
+
+ Assert.assertTrue(NLS.bind("Priority must be an instance of EnumerationLiteral, but it is an instance of {0}", priority.getClass().getName()), priority instanceof EnumerationLiteral);
+ EnumerationLiteral priority2 = (EnumerationLiteral) priority;
+ Object color = clazz.getValue(taskSte, "color"); //$NON-NLS-1$
+ EnumerationLiteral color2 = null;
+ if (this.checkClassColor) {
+ Assert.assertTrue(NLS.bind("Color must be an instance of EnumerationLiteral, but it is an instance of {0}", color.getClass().getName()), color instanceof EnumerationLiteral);
+ Assert.assertNotNull(NLS.bind("color is null for {0} ", clazz.getName()), color);
+ color2 = (EnumerationLiteral) color;
+ }
+ if ("RequirementTest".equals(name)) { //$NON-NLS-1$
+ // this is the initial requirement, available in the table
+ Assert.assertTrue(id == null || id.isEmpty()); //$NON-NLS-1$
+ Assert.assertTrue(text == null || text.isEmpty()); //$NON-NLS-1$
+ Assert.assertEquals("medium", priority2.getName()); //$NON-NLS-1$
+ if (this.checkClassColor) {
+ Assert.assertEquals("red", color2.getName()); //$NON-NLS-1$
+ }
+ Assert.assertEquals(VisibilityKind.PROTECTED_LITERAL, visibility);
+ } else if (REQUIREMENT1_NAME.equals(name)) {
+ Assert.assertEquals("id1", id); //$NON-NLS-1$
+ Assert.assertEquals("text1", text); //$NON-NLS-1$
+ Assert.assertEquals("hight", priority2.getName()); //$NON-NLS-1$
+ if (this.checkClassColor) {
+ Assert.assertEquals("black", color2.getName()); //$NON-NLS-1$
+ }
+ Assert.assertEquals(VisibilityKind.PUBLIC_LITERAL, visibility);
+ } else if (REQUIREMENT2_NAME.equals(name)) {
+ Assert.assertEquals("id2", id); //$NON-NLS-1$
+ Assert.assertEquals("text2", text); //$NON-NLS-1$
+ Assert.assertEquals("medium", priority2.getName()); //$NON-NLS-1$
+ if (this.checkClassColor) {
+ Assert.assertEquals("red", color2.getName()); //$NON-NLS-1$
+ }
+ } else if (REQUIREMENT3_NAME.equals(name)) {
+ Assert.assertEquals("id3", id); //$NON-NLS-1$
+ Assert.assertEquals("text3", text); //$NON-NLS-1$
+ Assert.assertEquals("low", priority2.getName()); //$NON-NLS-1$
+ if (this.checkClassColor) {
+ Assert.assertEquals("blue", color2.getName()); //$NON-NLS-1$
+ }
+ } else {
+ throw new Exception("There is an error in the test"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ *
+ * @param newClipBoardContents
+ */
+ protected void fillClipboard(String newClipBoardContents) {
+
+ // its seems that the clipboard must be filled with the same way than we read it!
+ java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+ StringSelection s = new StringSelection(newClipBoardContents);
+ clipboard.setContents(s, s);
+ }
+
+ protected void checkRootClasses(ITreeItemAxis root, EObject parent) {
+ Object tmp = AxisUtils.getRepresentedElement(root);
+ Assert.assertTrue(tmp instanceof Class);
+ Class clazz = (Class) tmp;
+ Assert.assertEquals(parent, clazz.eContainer());
+
+ }
+
+ protected void checkSynchronizedRoot(List<?> elements) throws ServiceException {
+ Assert.assertEquals(1, elements.size());
+ for (int i = 0; i < elements.size(); i++) {
+ // we check the first level
+ Object tmp = elements.get(0);
+ Assert.assertTrue(tmp instanceof EObjectTreeItemAxis);
+ EObjectTreeItemAxis root = (EObjectTreeItemAxis) tmp;
+ tmp = AxisUtils.getRepresentedElement(root);
+ Assert.assertTrue(tmp instanceof TreeFillingConfiguration);
+ TreeFillingConfiguration fillingConf = (TreeFillingConfiguration) tmp;
+ tmp = AxisUtils.getRepresentedElement(fillingConf.getAxisUsedAsAxisProvider());
+ Assert.assertEquals(UMLPackage.eINSTANCE.getPackage_PackagedElement(), tmp);
+
+
+
+
+ // we check the children : 2 classes
+ List<ITreeItemAxis> classes = root.getChildren();
+ Assert.assertEquals(2, classes.size());
+ for (Object current : classes) {
+ Assert.assertTrue(current instanceof ITreeItemAxis);
+ ITreeItemAxis axis = (ITreeItemAxis) current;
+ checkRootClasses(axis, getTable().getContext());
+ }
+ }
+ }
+
+ protected void checkDnDRoot(List<?> elements) throws ServiceException {
+ Assert.assertEquals(2, elements.size());
+ for (int i = 0; i < elements.size(); i++) {
+ Object tmp = elements.get(i);
+ Assert.assertTrue(tmp instanceof ITreeItemAxis);
+ ITreeItemAxis axis = (ITreeItemAxis) tmp;
+ checkRootClasses(axis, getTable().getContext());
+ }
+ }
+
+ public void checkTableDataStructure() throws ServiceException {
+ flushDisplayEvents();
+ final INattableModelManager manager = (INattableModelManager) this.editor.getAdapter(INattableModelManager.class);
+ List<Object> rows = manager.getRowElementsList();
+ Assert.assertEquals(4, rows.size());
+
+ // TODO : do the check using the clipboard
+
+ // boolean tmp = true;
+ // while (tmp) {
+ // try {
+ // tmp = Display.getDefault().readAndDispatch();
+ // } catch (Exception e) {
+ // Activator.log.error(e);
+ // }
+ // }
+ // Display.getDefault().asyncExec(new Runnable() {
+ //
+ // @Override
+ // public void run() {
+ // // TODO Auto-generated method stub
+ // ((NattableModelManager) manager).doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
+ // }
+ // });
+ // while (tmp) {
+ // try {
+ // tmp = Display.getDefault().readAndDispatch();
+ // } catch (Exception e) {
+ // Activator.log.error(e);
+ // }
+ // }
+ // List<?> elements = manager.getRowElementsList();
+ //
+ // String className = getClass().getSimpleName();
+ // className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ // String[] result = className.split("_"); //$NON-NLS-1$
+ // Assert.assertTrue(result.length == 5);
+ // String first = result[0];
+ // if ("Empty".equals(first)) { //$NON-NLS-1$
+ // checkDnDRoot(elements);
+ // } else {
+ // checkSynchronizedRoot(elements);
+ // }
+ }
+
+
+
+ protected void checkChildrenClasses(ITreeItemAxis axisRepresentingClass) throws Exception {
+ List<ITreeItemAxis> axis = axisRepresentingClass.getChildren();
+ Assert.assertEquals(3, axis.size());
+ ITreeItemAxis propertyAxis = null;
+ ITreeItemAxis operationAxis = null;
+ ITreeItemAxis nestedClassAxis = null;
+ Class clazz = (Class) AxisUtils.getRepresentedElement(axisRepresentingClass);
+ for (ITreeItemAxis current : axis) {
+ Object tmp = AxisUtils.getRepresentedElement(current);
+ if (tmp == UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute()) {
+ // property = true;
+ propertyAxis = current;
+ checkPropertyAxis(propertyAxis, clazz);
+ }
+ if (tmp == UMLPackage.eINSTANCE.getClass_OwnedOperation()) {
+ // operation = true;
+ operationAxis = current;
+ checkOperationAxis(operationAxis, clazz);
+ }
+ if (tmp == UMLPackage.eINSTANCE.getClass_NestedClassifier()) {
+ nestedClassAxis = current;
+ checkNestedClassAxis(nestedClassAxis, clazz);
+ // nestedClass = true;
+ }
+ }
+
+ String className = getClass().getSimpleName();
+ className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ String[] result = className.split("_"); //$NON-NLS-1$
+ Assert.assertTrue(result.length == 5);
+ String depth1 = result[1];
+ if (depth1.endsWith("3")) { //$NON-NLS-1$
+ Assert.assertNotNull(propertyAxis);
+ Assert.assertNotNull(nestedClassAxis);
+ Assert.assertNotNull(operationAxis);
+
+ } else if (depth1.endsWith("1")) { //$NON-NLS-1$
+ Assert.assertTrue(propertyAxis == null);
+ Assert.assertTrue(nestedClassAxis == null);
+ Assert.assertNotNull(operationAxis);
+ } else {
+ throw new Exception("We have an error in the tests"); //$NON-NLS-1$
+ }
+ }
+
+ public void checkPropertyAxis(ITreeItemAxis propertyAxis, Class parent) {
+ List<ITreeItemAxis> axis = propertyAxis.getChildren();
+ Assert.assertEquals(3, axis.size());
+ Set<Object> properties = new HashSet<Object>();
+ for (ITreeItemAxis tmp : axis) {
+ Assert.assertEquals(0, tmp.getChildren());
+ Object representedElement = AxisUtils.getRepresentedElement(tmp);
+ Assert.assertTrue(representedElement instanceof Property);
+ Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
+ properties.add(representedElement);
+ }
+ // if not a property is marked several time has children of it parent itreeitemaxis
+ Assert.assertEquals(3, properties.size());
+ }
+
+ public void checkNestedClassAxis(ITreeItemAxis nestedClassAxis, Class parent) {
+ List<ITreeItemAxis> axis = nestedClassAxis.getChildren();
+ Assert.assertEquals(3, axis.size());
+ Set<Object> properties = new HashSet<Object>();
+ for (ITreeItemAxis tmp : axis) {
+ Assert.assertEquals(0, tmp.getChildren());
+ Object representedElement = AxisUtils.getRepresentedElement(tmp);
+ Assert.assertTrue(representedElement instanceof Class);
+ Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
+ properties.add(representedElement);
+ }
+ // if not a property is marked several time has children of it parent itreeitemaxis
+ Assert.assertEquals(3, properties.size());
+
+ }
+
+ public void checkOperationAxis(ITreeItemAxis operationAxis, Class parent) {
+ List<ITreeItemAxis> axis = operationAxis.getChildren();
+ Assert.assertEquals(3, axis.size());
+ Set<Object> properties = new HashSet<Object>();
+ for (ITreeItemAxis tmp : axis) {
+ Assert.assertEquals(1, tmp.getChildren());
+ ITreeItemAxis parameterAxis = tmp.getChildren().get(0);
+ Assert.assertEquals(UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameter(), AxisUtils.getRepresentedElement(parameterAxis.getElement()));
+ Object representedElement = AxisUtils.getRepresentedElement(tmp);
+ Assert.assertTrue(representedElement instanceof Operation);
+ Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
+ properties.add(representedElement);
+ checkParameterAxis(parameterAxis, (Operation) representedElement);
+ }
+ // if not a property is marked several time has children of it parent itreeitemaxis
+ Assert.assertEquals(3, properties.size());
+ }
+
+
+ public void checkParameterAxis(ITreeItemAxis parameterAxis, Operation parent) {
+ List<ITreeItemAxis> axis = parameterAxis.getChildren();
+ Assert.assertEquals(3, axis.size());
+ Set<Object> parameters = new HashSet<Object>();
+ for (ITreeItemAxis tmp : axis) {
+ Assert.assertEquals(0, tmp.getChildren());
+ Object representedElement = AxisUtils.getRepresentedElement(tmp);
+ Assert.assertTrue(representedElement instanceof Parameter);
+ Assert.assertTrue(((EObject) representedElement).eContainer() == parent);
+ parameters.add(representedElement);
+ }
+ // if not a property is marked several time has children of it parent itreeitemaxis
+ Assert.assertEquals(3, parameters.size());
+ }
+
+ public void verifyTableContents_1_1_1(List<?> elements) {
+ Assert.assertEquals(1, elements.size());
+ }
+
+ /**
+ * This method verify the general appearance of the table, currently it doesn't work, because the tree header are not included in the clipboard
+ *
+ * @param pastedString
+ * @throws Exception
+ */
+ protected void checkCopyToClipboard(final String pastedString) throws Exception {
+
+ if (true) {// TODO, fixme
+ return;
+ }
+ // final INattableModelManager manager = (INattableModelManager) this.editor.getAdapter(INattableModelManager.class);
+ //
+ // boolean tmp = true;
+ // while (tmp) {
+ // try {
+ // tmp = Display.getDefault().readAndDispatch();
+ // } catch (Exception e) {
+ // Activator.log.error(e);
+ // }
+ // }
+ // Display.getDefault().asyncExec(new Runnable() {
+ //
+ // @Override
+ // public void run() {
+ // // TODO Auto-generated method stub
+ // ((NattableModelManager) manager).doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
+ // }
+ // });
+ // while (tmp) {
+ // try {
+ // tmp = Display.getDefault().readAndDispatch();
+ // } catch (Exception e) {
+ // Activator.log.error(e);
+ // }
+ // }
+ // List<?> elements = manager.getRowElementsList();
+ // Assert.assertTrue(" the list managing the rows in not a TreeList", elements instanceof TreeList<?>); //$NON-NLS-1$
+ // Assert.assertEquals(2, elements.size());
+ // String className = getClass().getSimpleName();
+ // className = className.replaceFirst("PasteWithCategories_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ // String[] result = className.split("_"); //$NON-NLS-1$
+ // Assert.assertTrue(result.length == 5);
+ // String depth1 = result[1];
+ // // if (depth1.endsWith("3")) { //$NON-NLS-1$
+ // // // verifyTableContents_1_3_1(elements);
+ // // } else if (depth1.endsWith("1")) { //$NON-NLS-1$
+ // // verifyTableContents_1_1_1(elements);
+ // // } else {
+ // // throw new Exception("We have an error in the tests"); //$NON-NLS-1$
+ // // }
+ //
+ // // TODO N
+ // // Assert.assertEquals(11, elements.size());
+ //
+ // manager.selectAll();
+ // ((AbstractNattableWidgetManager) manager).copyToClipboard();
+ //
+ // String clipboardContents = TableClipboardUtils.getClipboardContentsAsString();
+ // String fileName = getPasteFileName();
+ //
+ // // String pastedContents = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID,get filePath, fileNameWithExtension)
+ // int i = 0;
+ // i++;
+ //
+ // StringReader clipboardReader = new StringReader(clipboardContents);
+ // StringReader fileReader = new StringReader(pastedString);
+ // CSVPasteHelper helperClipboard = new CSVPasteHelper();
+ // CSVPasteHelper helperfile = new CSVPasteHelper();
+ // CSVParser clipboardParser = helperClipboard.createParser(clipboardReader);
+ // CSVParser fileParser = helperfile.createParser(fileReader);
+ // RowIterator clipboardRowIter = clipboardParser.parse();
+ // RowIterator fileRowIter = fileParser.parse();
+ // // doesn't work because tree header are not in the clipboard
+ // while (clipboardRowIter.hasNext()) {
+ // Assert.assertEquals(fileRowIter.hasNext(), clipboardRowIter.hasNext());
+ // CellIterator fileCellIterator = fileRowIter.next();
+ // CellIterator clipboardCellIterator = clipboardRowIter.next();
+ // while (clipboardCellIterator.hasNext()) {
+ // Assert.assertEquals(fileCellIterator.hasNext(), clipboardCellIterator.hasNext());
+ // String origin = fileCellIterator.next();
+ // String current = clipboardCellIterator.next();
+ //
+ // // contains and not equals, because due to label provider, it could be different
+ // Assert.assertTrue(current.contains(origin));
+ // }
+ // Assert.assertEquals(fileCellIterator.hasNext(), clipboardCellIterator.hasNext());
+ // }
+ // Assert.assertEquals(fileRowIter.hasNext(), clipboardRowIter.hasNext());
+ }
+
+ /**
+ *
+ * @return
+ * the name of the paste file to use
+ */
+ protected String getPasteFileName() {
+ StringBuilder builder = new StringBuilder(getClass().getSimpleName());
+ builder.append(FileUtils.DOT_STRING);
+ builder.append(FileUtils.TEXT_EXTENSION);
+ return builder.toString();
+ }
+
+
+
+
+
+ @Override
+ protected String getSourcePath() {
+ return PASTE_FOLDER_PATH;
+ }
+
+ @Override
+ protected Bundle getBundle() {
+ return Activator.getDefault().getBundle();
+ }
+
+ @AfterClass
+ public static void endOfTest() {
+ GenericUtils.closeAllEditors();
+ }
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/Bug443814_Enumeration.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/Bug443814_Enumeration.java
index 822611e90cc..cbe5c1cda10 100644
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/Bug443814_Enumeration.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/Bug443814_Enumeration.java
@@ -1,162 +1,173 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.papyrus.infra.emf.nattable.dataprovider.EEnumComboBoxDataProvider;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
-import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
-import org.eclipse.papyrus.uml.nattable.dataprovider.UMLStereotypeSingleEnumerationComboBoxDataProvider;
-import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.VisibilityKind;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * @author VL222926
- *
- */
-public class Bug443814_Enumeration extends AbstractPasteTests {
-
- /**
- * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit.AbstractPasteTests#getSourcePath()
- *
- * @return
- */
- @Override
- protected String getSourcePath() {
- return "/resources/paste_tests/without_service_edit/bug443814/"; //$NON-NLS-1$
- }
-
- @Test
- public void availableColorTest() throws Exception {
-
- StringBuilder builder = new StringBuilder(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX);
- builder.append("profile::Task::color"); //$NON-NLS-1$
- String wantedProperty = builder.toString();
- testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
- List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
- IAxis colorAxis = null;
- Object representedElement = null;
-
- for (IAxis current : iAxis) {
- representedElement = AxisUtils.getRepresentedElement(current);
- if (wantedProperty.equals(representedElement)){
- colorAxis = current;
- break;
- }
- }
- Assert.assertNotNull(colorAxis);
- Assert.assertNotNull(representedElement);
-
- UMLStereotypeSingleEnumerationComboBoxDataProvider provider = new UMLStereotypeSingleEnumerationComboBoxDataProvider(colorAxis, getTableManager());
- List<?> values = provider.getValues(iAxis.indexOf(colorAxis), 0);
- boolean findBlack = false;
- boolean findRed = false;
- boolean findBlue = false;
- for(Object current : values){
- Assert.assertTrue(current instanceof EEnumLiteral);
- EEnumLiteral lit = (EEnumLiteral) current;
- if(lit.getLiteral().equals("black")){ //$NON-NLS-1$
- findBlack = true;
- }
- if(lit.getLiteral().equals("red")){ //$NON-NLS-1$
- findRed = true;
- }
- if(lit.getLiteral().equals("blue")){ //$NON-NLS-1$
- findBlue = true;
- }
- }
-
-
- Assert.assertTrue(findBlack);
- Assert.assertTrue(findRed);
- Assert.assertTrue(findBlue);
- }
-
- @Test
- public void availablePriorityTest() throws Exception {
- StringBuilder builder = new StringBuilder(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX);
- builder.append("profile::Task::p"); //$NON-NLS-1$
- String wantedProperty = builder.toString();
- testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
- List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
- IAxis priorityAxis = null;
- Object representedElement = null;
-
- for (IAxis current : iAxis) {
- representedElement = AxisUtils.getRepresentedElement(current);
- if (wantedProperty.equals(representedElement)){
- priorityAxis = current;
- break;
- }
- }
- Assert.assertNotNull(priorityAxis);
- Assert.assertNotNull(representedElement);
-
- UMLStereotypeSingleEnumerationComboBoxDataProvider provider = new UMLStereotypeSingleEnumerationComboBoxDataProvider(priorityAxis, getTableManager());
- List<?> values = provider.getValues(iAxis.indexOf(priorityAxis), 0);
- boolean findHight = false;
- boolean findMedium = false;
- boolean findLow = false;
- for(Object current : values){
- Assert.assertTrue(current instanceof EEnumLiteral);
- EEnumLiteral lit = (EEnumLiteral) current;
- if(lit.getLiteral().equals("hight")){ //$NON-NLS-1$
- findHight = true;
- }
- if(lit.getLiteral().equals("medium")){ //$NON-NLS-1$
- findMedium = true;
- }
- if(lit.getLiteral().equals("low")){ //$NON-NLS-1$
- findLow = true;
- }
- }
-
-
- Assert.assertTrue(findHight);
- Assert.assertTrue(findMedium);
- Assert.assertTrue(findLow);
- }
-
- @Test
- public void availableVisibilityTest() throws Exception {
- testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
- List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
- IAxis visibilityAxis = null;
- Object representedElement = null;
- for (IAxis current : iAxis) {
- representedElement = AxisUtils.getRepresentedElement(current);
- if (UMLPackage.eINSTANCE.getNamedElement_Visibility() == representedElement) {
- visibilityAxis = current;
- break;
- }
- }
- Assert.assertNotNull(visibilityAxis);
- Assert.assertNotNull(representedElement);
- EEnumComboBoxDataProvider provider = new EEnumComboBoxDataProvider((EEnum) UMLPackage.eINSTANCE.getNamedElement_Visibility().getEType());
- List<?> values = provider.getValues(iAxis.indexOf(visibilityAxis), 0);
- Assert.assertEquals(4, values.size());
- Assert.assertTrue(values.contains(VisibilityKind.PACKAGE_LITERAL));
- Assert.assertTrue(values.contains(VisibilityKind.PUBLIC_LITERAL));
- Assert.assertTrue(values.contains(VisibilityKind.PRIVATE_LITERAL));
- Assert.assertTrue(values.contains(VisibilityKind.PROTECTED_LITERAL));
-
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EEnumLiteral;
+import org.eclipse.papyrus.infra.emf.nattable.dataprovider.EEnumComboBoxDataProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.uml.nattable.dataprovider.UMLStereotypeSingleEnumerationComboBoxDataProvider;
+import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author VL222926
+ *
+ */
+public class Bug443814_Enumeration extends AbstractPasteTests {
+
+ /**
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit.AbstractPasteTests#getSourcePath()
+ *
+ * @return
+ */
+ @Override
+ protected String getSourcePath() {
+ return "/resources/paste_tests/without_service_edit/bug443814/"; //$NON-NLS-1$
+ }
+
+ @Test
+ public void availableColorTest() throws Exception {
+
+ StringBuilder builder = new StringBuilder(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX);
+ builder.append("profile::Task::color"); //$NON-NLS-1$
+ String wantedProperty = builder.toString();
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
+ IAxis colorAxis = null;
+ Object representedElement = null;
+
+ for (IAxis current : iAxis) {
+ representedElement = AxisUtils.getRepresentedElement(current);
+ if (wantedProperty.equals(representedElement)) {
+ colorAxis = current;
+ break;
+ }
+ }
+ Assert.assertNotNull(colorAxis);
+ Assert.assertNotNull(representedElement);
+
+ UMLStereotypeSingleEnumerationComboBoxDataProvider provider = new UMLStereotypeSingleEnumerationComboBoxDataProvider(colorAxis, getTableManager());
+ List<?> values = provider.getValues(iAxis.indexOf(colorAxis), 0);
+ boolean findBlack = false;
+ boolean findRed = false;
+ boolean findBlue = false;
+ for (Object current : values) {
+ Assert.assertTrue(current instanceof EEnumLiteral);
+ EEnumLiteral lit = (EEnumLiteral) current;
+ if (lit.getLiteral().equals("black")) { //$NON-NLS-1$
+ findBlack = true;
+ }
+ if (lit.getLiteral().equals("red")) { //$NON-NLS-1$
+ findRed = true;
+ }
+ if (lit.getLiteral().equals("blue")) { //$NON-NLS-1$
+ findBlue = true;
+ }
+ }
+
+
+ Assert.assertTrue(findBlack);
+ Assert.assertTrue(findRed);
+ Assert.assertTrue(findBlue);
+ }
+
+ @Test
+ public void availablePriorityTest() throws Exception {
+ StringBuilder builder = new StringBuilder(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX);
+ builder.append("profile::Task::p"); //$NON-NLS-1$
+ String wantedProperty = builder.toString();
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
+ IAxis priorityAxis = null;
+ Object representedElement = null;
+
+ for (IAxis current : iAxis) {
+ representedElement = AxisUtils.getRepresentedElement(current);
+ if (wantedProperty.equals(representedElement)) {
+ priorityAxis = current;
+ break;
+ }
+ }
+ Assert.assertNotNull(priorityAxis);
+ Assert.assertNotNull(representedElement);
+
+ UMLStereotypeSingleEnumerationComboBoxDataProvider provider = new UMLStereotypeSingleEnumerationComboBoxDataProvider(priorityAxis, getTableManager());
+ List<?> values = provider.getValues(iAxis.indexOf(priorityAxis), 0);
+ boolean findHight = false;
+ boolean findMedium = false;
+ boolean findLow = false;
+ for (Object current : values) {
+ Assert.assertTrue(current instanceof EEnumLiteral);
+ EEnumLiteral lit = (EEnumLiteral) current;
+ if (lit.getLiteral().equals("hight")) { //$NON-NLS-1$
+ findHight = true;
+ }
+ if (lit.getLiteral().equals("medium")) { //$NON-NLS-1$
+ findMedium = true;
+ }
+ if (lit.getLiteral().equals("low")) { //$NON-NLS-1$
+ findLow = true;
+ }
+ }
+
+
+ Assert.assertTrue(findHight);
+ Assert.assertTrue(findMedium);
+ Assert.assertTrue(findLow);
+ }
+
+ @Test
+ public void availableVisibilityTest() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ List<IAxis> iAxis = getTable().getCurrentColumnAxisProvider().getAxis();
+ IAxis visibilityAxis = null;
+ Object representedElement = null;
+ for (IAxis current : iAxis) {
+ representedElement = AxisUtils.getRepresentedElement(current);
+ if (UMLPackage.eINSTANCE.getNamedElement_Visibility() == representedElement) {
+ visibilityAxis = current;
+ break;
+ }
+ }
+ Assert.assertNotNull(visibilityAxis);
+ Assert.assertNotNull(representedElement);
+ EEnumComboBoxDataProvider provider = new EEnumComboBoxDataProvider((EEnum) UMLPackage.eINSTANCE.getNamedElement_Visibility().getEType());
+ List<?> values = provider.getValues(iAxis.indexOf(visibilityAxis), 0);
+ Assert.assertEquals(4, values.size());
+ Assert.assertTrue(values.contains(VisibilityKind.PACKAGE_LITERAL));
+ Assert.assertTrue(values.contains(VisibilityKind.PUBLIC_LITERAL));
+ Assert.assertTrue(values.contains(VisibilityKind.PRIVATE_LITERAL));
+ Assert.assertTrue(values.contains(VisibilityKind.PROTECTED_LITERAL));
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit.AbstractPasteTests#validateReturnedStatus(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void validateReturnedStatus(final IStatus status) {
+ Assert.assertEquals("Status must be a warning", IStatus.WARNING, status.getSeverity());
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/tests/AllTests.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/tests/AllTests.java
index 5ab17f28ae2..c58c524d934 100755
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/tests/AllTests.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/tests/AllTests.java
@@ -16,6 +16,45 @@ import org.eclipse.papyrus.sysml.nattable.requirement.tests.bugs.AxisChangeIndex
import org.eclipse.papyrus.sysml.nattable.requirement.tests.bugs.AxisChangeIndexWithoutConfigurationTest;
import org.eclipse.papyrus.sysml.nattable.requirement.tests.bugs.InvertedAxisChangeIndexWithConfigurationTest;
import org.eclipse.papyrus.sysml.nattable.requirement.tests.bugs.InvertedAxisChangeIndexWithoutConfigurationTest;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportCellsAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportEmptyAddAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportEmptyReplaceAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportEmptySkipAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportRowsAddAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportRowsReplaceAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.importfile.ImportRowsSkipAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptyAddAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptyAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptyFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptyReplaceAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptySkipAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertEmptyWarningNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsAddAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsFailRows_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsReplaceAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsSkipAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.insert.InsertRowsWarningNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteCellsOverwriteAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteCellsOverwriteByOneLine_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteCellsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteCellsOverwriteFailRows_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteColumnsOverwriteAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteColumnsOverwriteByOneLine_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteColumnsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteColumnsOverwriteFailRows_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteAddAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteReplaceAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteSkipAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteEmptyOverwriteWarningNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteRowsOverwriteAll_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteRowsOverwriteAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteRowsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteRowsOverwriteFailRows_Test;
+import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.overwrite.PasteRowsOverwriteWarningNotExisting_Test;
import org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.service.edit.Bug443814_Enumeration;
import org.junit.runner.RunWith;
import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
@@ -36,6 +75,55 @@ import org.junit.runners.Suite.SuiteClasses;
OpenTableTest.class,
TableCreationInUMLModel.class,
RevealRequirementTableTest.class,
+
+ // Paste Overwrite tests
+ PasteCellsOverwriteAll_Test.class,
+ PasteCellsOverwriteByOneLine_Test.class,
+ PasteCellsOverwriteFailColumns_Test.class,
+ PasteCellsOverwriteFailRows_Test.class,
+
+ PasteColumnsOverwriteAll_Test.class,
+ PasteColumnsOverwriteByOneLine_Test.class,
+ PasteColumnsOverwriteFailColumns_Test.class,
+ PasteColumnsOverwriteFailRows_Test.class,
+
+ PasteRowsOverwriteAll_Test.class,
+ PasteRowsOverwriteFailColumns_Test.class,
+ PasteRowsOverwriteFailRows_Test.class,
+ PasteRowsOverwriteWarningNotExisting_Test.class,
+ PasteRowsOverwriteAxisIdentifierNotExisting_Test.class,
+
+ PasteEmptyOverwriteReplaceAll_Test.class,
+ PasteEmptyOverwriteAddAll_Test.class,
+ PasteEmptyOverwriteSkipAll_Test.class,
+ PasteEmptyOverwriteFailColumns_Test.class,
+ PasteEmptyOverwriteWarningNotExisting_Test.class,
+ PasteEmptyOverwriteAxisIdentifierNotExisting_Test.class,
+
+ // Insert tests
+ InsertRowsAddAll_Test.class,
+ InsertRowsReplaceAll_Test.class,
+ InsertRowsSkipAll_Test.class,
+ InsertRowsFailColumns_Test.class,
+ InsertRowsFailRows_Test.class,
+ InsertRowsWarningNotExisting_Test.class,
+ InsertRowsAxisIdentifierNotExisting_Test.class,
+
+ InsertEmptyReplaceAll_Test.class,
+ InsertEmptyAddAll_Test.class,
+ InsertEmptySkipAll_Test.class,
+ InsertEmptyFailColumns_Test.class,
+ InsertEmptyWarningNotExisting_Test.class,
+ InsertEmptyAxisIdentifierNotExisting_Test.class,
+
+ // Import tests
+ ImportCellsAll_Test.class,
+ ImportEmptyReplaceAll_Test.class,
+ ImportEmptyAddAll_Test.class,
+ ImportEmptySkipAll_Test.class,
+ ImportRowsReplaceAll_Test.class,
+ ImportRowsAddAll_Test.class,
+ ImportRowsSkipAll_Test.class
})
public class AllTests {
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..b55c79d7ad0
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,26 @@
+Class0;;;Class0;package;true;N/A
+;Operation0_0;;Operation0_0;public;true;N/A
+;;Param0_0_0;Param0_0_0;package;N/A;return
+;;Param0_0_1;Param0_0_1;package;N/A;in
+;;Param0_0_2;Param0_0_2;package;N/A;out
+;Operation0_1;;Operation0_1;private;true;N/A
+;;Param0_1_0;Param0_1_0;public;N/A;return
+;;Param0_1_1;Param0_1_1;public;N/A;in
+;;Param0_1_2;Param0_1_2;public;N/A;out
+;Operation0_2;;Operation0_2;public;true;N/A
+;;Param0_2_0;Param0_2_0;private;N/A;return
+;;Param0_2_1;Param0_2_1;private;N/A;in
+;;Param0_2_2;Param0_2_2;private;N/A;out
+Class1;;;Class1;package;true;N/A
+;Operation1_0;;Operation1_0;public;true;N/A
+;;Param1_0_0;Param1_0_0;package;N/A;return
+;;Param1_0_1;Param1_0_1;package;N/A;in
+;;Param1_0_2;Param1_0_2;package;N/A;out
+;Operation1_1;;Operation1_1;private;true;N/A
+;;Param1_1_0;Param1_1_0;public;N/A;return
+;;Param1_1_1;Param1_1_1;public;N/A;in
+;;Param1_1_2;Param1_1_2;public;N/A;out
+;Operation1_2;;Operation1_2;public;true;N/A
+;;Param1_2_0;Param1_2_0;private;N/A;return
+;;Param1_2_1;Param1_2_1;private;N/A;in
+;;Param1_2_2;Param1_2_2;private;N/A;out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..d26f8a21a95
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..08dbd90b00a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..c2397f02767
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,51 @@
+Class;;;;;;;;;
+;Class0;;;;;Class0;package;true;N/A
+;;ownedAttribute;;;;;;;
+;;;Property0_0;;;Property0_0;public;false;N/A
+;;;Property0_1;;;Property0_1;public;false;N/A
+;;;Property0_2;;;Property0_2;public;false;N/A
+;;nestedClassifier;;;;;;;
+;;;NestedClass0_0;;;NestedClass0_0;package;false;N/A
+;;;NestedClass0_1;;;NestedClass0_1;package;false;N/A
+;;;NestedClass0_2;;;NestedClass0_2;package;false;N/A
+;;ownedOperation;;;;;;;
+;;;Operation0_0;;;Operation0_0;public;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param0_0_0;Param0_0_0;package;N/A;return
+;;;;;Param0_0_1;Param0_0_1;package;N/A;in
+;;;;;Param0_0_2;Param0_0_2;package;N/A;out
+;;;Operation0_1;;;Operation0_1;private;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param0_1_0;Param0_1_0;public;N/A;return
+;;;;;Param0_1_1;Param0_1_1;public;N/A;in
+;;;;;Param0_1_2;Param0_1_2;public;N/A;out
+;;;Operation0_2;;;Operation0_2;public;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param0_2_0;Param0_2_0;private;N/A;return
+;;;;;Param0_2_1;Param0_2_1;private;N/A;in
+;;;;;Param0_2_2;Param0_2_2;private;N/A;out
+;Class1;;;;;Class1;package;true;N/A
+;;ownedAttribute;;;;;;;
+;;;Property1_0;;;Property1_0;public;false;N/A
+;;;Property1_1;;;Property1_1;public;false;N/A
+;;;Property1_2;;;Property1_2;public;false;N/A
+;;nestedClassifier;;;;;;;
+;;;NestedClass1_0;;;NestedClass1_0;package;false;N/A
+;;;NestedClass1_1;;;NestedClass1_1;package;false;N/A
+;;;NestedClass1_2;;;NestedClass1_2;package;false;N/A
+;;ownedOperation;;;;;;;
+;;;Operation1_0;;;Operation1_0;public;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param1_0_0;Param1_0_0;package;N/A;return
+;;;;;Param1_0_1;Param1_0_1;package;N/A;in
+;;;;;Param1_0_2;Param1_0_2;package;N/A;out
+;;;Operation1_1;;;Operation1_1;private;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param1_1_0;Param1_1_0;public;N/A;return
+;;;;;Param1_1_1;Param1_1_1;public;N/A;in
+;;;;;Param1_1_2;Param1_1_2;public;N/A;out
+;;;Operation1_2;;;Operation1_2;public;true;N/A
+;;;;ownedParameter;;;;;
+;;;;;Param1_2_0;Param1_2_0;private;N/A;return
+;;;;;Param1_2_1;Param1_2_1;private;N/A;in
+;;;;;Param1_2_2;Param1_2_2;private;N/A;out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..c625c26b562
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..a936e39c884
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportCellsAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,101 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..95319417c60
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..abb925ec617
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..608eb9e77d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..11d00355935
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,51 @@
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..34305efaed3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e59cad6fc70
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,89 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..7f5ff9ee035
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;return
+Param0_0_1;package;N/A;in
+Param0_0_2;package;N/A;out
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;return
+Param0_1_1;public;N/A;in
+Param0_1_2;public;N/A;out
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;return
+Param0_2_1;private;N/A;in
+Param0_2_2;private;N/A;out
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;return
+Param1_0_1;package;N/A;in
+Param1_0_2;package;N/A;out
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;return
+Param1_1_1;public;N/A;in
+Param1_1_2;public;N/A;out
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;return
+Param1_2_1;private;N/A;in
+Param1_2_2;private;N/A;out
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..cb82c394d07
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..eb3c951f09b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,51 @@
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;return
+Param0_0_1;package;N/A;in
+Param0_0_2;package;N/A;out
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;return
+Param0_1_1;public;N/A;in
+Param0_1_2;public;N/A;out
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;return
+Param0_2_1;private;N/A;in
+Param0_2_2;private;N/A;out
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;return
+Param1_0_1;package;N/A;in
+Param1_0_2;package;N/A;out
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;return
+Param1_1_1;public;N/A;in
+Param1_1_2;public;N/A;out
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;return
+Param1_2_1;private;N/A;in
+Param1_2_2;private;N/A;out
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..1f49d661d87
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..a16b9f1dd3c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..2c06999882f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;int
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;int
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;int
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;int
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;int
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;int
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e5c4b55e16d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_exrOoHmkEeWIUuCto2liAg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..11d00355935
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,51 @@
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..d78e03eea9d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..95319417c60
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..333b7b62fe4
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..257f9541e8d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..b13b7ef7317
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,52 @@
+;;;
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..c5cf4371285
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..f5a0e28359d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,89 @@
+
+Class0 package true N/A
+Class1 package true N/A
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..7f5ff9ee035
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;return
+Param0_0_1;package;N/A;in
+Param0_0_2;package;N/A;out
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;return
+Param0_1_1;public;N/A;in
+Param0_1_2;public;N/A;out
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;return
+Param0_2_1;private;N/A;in
+Param0_2_2;private;N/A;out
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;return
+Param1_0_1;package;N/A;in
+Param1_0_2;package;N/A;out
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;return
+Param1_1_1;public;N/A;in
+Param1_1_2;public;N/A;out
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;return
+Param1_2_1;private;N/A;in
+Param1_2_2;private;N/A;out
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..829eba8911e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_xWwXYHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..35b04ea69db
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,52 @@
+;;;
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;return
+Param0_0_1;package;N/A;in
+Param0_0_2;package;N/A;out
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;return
+Param0_1_1;public;N/A;in
+Param0_1_2;public;N/A;out
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;return
+Param0_2_1;private;N/A;in
+Param0_2_2;private;N/A;out
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;return
+Param1_0_1;package;N/A;in
+Param1_0_2;package;N/A;out
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;return
+Param1_1_1;public;N/A;in
+Param1_1_2;public;N/A;out
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;return
+Param1_2_1;private;N/A;in
+Param1_2_2;private;N/A;out
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..b9d07743704
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..a16b9f1dd3c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..2c06999882f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.csv
@@ -0,0 +1,27 @@
+Class0;package;true;N/A
+Operation0_0;public;true;N/A
+Param0_0_0;package;N/A;int
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+Param0_1_0;public;N/A;int
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+Param0_2_0;private;N/A;int
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+Operation1_0;public;true;N/A
+Param1_0_0;package;N/A;int
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+Param1_1_0;public;N/A;int
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+Param1_2_0;private;N/A;int
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..cf87cb009c2
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.csv
new file mode 100644
index 00000000000..b13b7ef7317
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.csv
@@ -0,0 +1,52 @@
+;;;
+Class0;package;true;N/A
+;;;
+Property0_0;public;false;N/A
+Property0_1;public;false;N/A
+Property0_2;public;false;N/A
+;;;
+NestedClass0_0;package;false;N/A
+NestedClass0_1;package;false;N/A
+NestedClass0_2;package;false;N/A
+;;;
+Operation0_0;public;true;N/A
+;;;
+Param0_0_0;package;N/A;in
+Param0_0_1;package;N/A;out
+Param0_0_2;package;N/A;return
+Operation0_1;private;true;N/A
+;;;
+Param0_1_0;public;N/A;in
+Param0_1_1;public;N/A;out
+Param0_1_2;public;N/A;return
+Operation0_2;public;true;N/A
+;;;
+Param0_2_0;private;N/A;in
+Param0_2_1;private;N/A;out
+Param0_2_2;private;N/A;return
+Class1;package;true;N/A
+;;;
+Property1_0;public;false;N/A
+Property1_1;public;false;N/A
+Property1_2;public;false;N/A
+;;;
+NestedClass1_0;package;false;N/A
+NestedClass1_1;package;false;N/A
+NestedClass1_2;package;false;N/A
+;;;
+Operation1_0;public;true;N/A
+;;;
+Param1_0_0;package;N/A;in
+Param1_0_1;package;N/A;out
+Param1_0_2;package;N/A;return
+Operation1_1;private;true;N/A
+;;;
+Param1_1_0;public;N/A;in
+Param1_1_1;public;N/A;out
+Param1_1_2;public;N/A;return
+Operation1_2;public;true;N/A
+;;;
+Param1_2_0;private;N/A;in
+Param1_2_1;private;N/A;out
+Param1_2_2;private;N/A;return
+;;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..a3b293f46bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/import/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e419c701983
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..608eb9e77d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..8c21e826474
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..7f13f164672
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e59cad6fc70
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,89 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..a658db2c7c6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..d6233afd02b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_pBHsAG5dEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_qjmBgHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..8d94f2c85f9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+public false N/A model::Class0
+package false N/A model::Class0::Operation0_0
+public N/A in model::Class0::Operation0_0::Param0_0_0
+public N/A out model::Class0::Operation0_0::Param0_0_1
+public N/A return model::Class0::Operation0_0::Param0_0_2
+package false N/A model::Class0::Operation0_1
+private N/A in model::Class0::Operation0_1::Param0_1_0
+private N/A out model::Class0::Operation0_1::Param0_1_1
+private N/A return model::Class0::Operation0_1::Param0_1_2
+package false N/A model::Class0::Operation0_2
+package N/A in model::Class0::Operation0_2::Param0_2_0
+package N/A out model::Class0::Operation0_2::Param0_2_1
+package N/A return model::Class0::Operation0_2::Param0_2_2
+public false N/A model::Class1
+package false N/A model::Class1::Operation1_0
+public N/A in model::Class1::Operation1_0::Param1_0_0
+public N/A out model::Class1::Operation1_0::Param1_0_1
+public N/A return model::Class1::Operation1_0::Param1_0_2
+package false N/A model::Class1::Operation1_1
+private N/A in model::Class1::Operation1_1::Param1_1_0
+private N/A out model::Class1::Operation1_1::Param1_1_1
+private N/A return model::Class1::Operation1_1::Param1_1_2
+package false N/A model::Class1::Operation1_2
+package N/A in model::Class1::Operation1_2::Param1_2_0
+package N/A out model::Class1::Operation1_2::Param1_2_1
+package N/A return model::Class1::Operation1_2::Param1_2_2
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..d2aba58c721
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_soQA4Hl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e595bdc30ae
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+Class_1_1 private true
+Class_2_1 private true
+Class_3_1 private true
+Class_4_1 private true
+Class_5_1 private true
+Class_6_1 private true
+Class_7_1 private true
+Class_8_1 private true
+Class_9_1 private true
+Class_10_1 private true
+Class_11_1 private true
+Class_12_1 private true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e5ae5fd4350
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_xWwXYHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..3d73a1e2b1e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..fca7b9e9e69
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..4a756f321b1
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_exrOoHmkEeWIUuCto2liAg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..b5616ed2dcb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..0d8c3fce4b9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_1gjeUHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d00189e547a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 public false N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..3e4120bcabc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class2 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..190eef28997
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..257f9541e8d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..8c21e826474
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..cef5bec0980
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..f5a0e28359d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,89 @@
+
+Class0 package true N/A
+Class1 package true N/A
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..a658db2c7c6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..5b363d8b531
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_pBHsAG5dEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_qjmBgHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..8d94f2c85f9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+public false N/A model::Class0
+package false N/A model::Class0::Operation0_0
+public N/A in model::Class0::Operation0_0::Param0_0_0
+public N/A out model::Class0::Operation0_0::Param0_0_1
+public N/A return model::Class0::Operation0_0::Param0_0_2
+package false N/A model::Class0::Operation0_1
+private N/A in model::Class0::Operation0_1::Param0_1_0
+private N/A out model::Class0::Operation0_1::Param0_1_1
+private N/A return model::Class0::Operation0_1::Param0_1_2
+package false N/A model::Class0::Operation0_2
+package N/A in model::Class0::Operation0_2::Param0_2_0
+package N/A out model::Class0::Operation0_2::Param0_2_1
+package N/A return model::Class0::Operation0_2::Param0_2_2
+public false N/A model::Class1
+package false N/A model::Class1::Operation1_0
+public N/A in model::Class1::Operation1_0::Param1_0_0
+public N/A out model::Class1::Operation1_0::Param1_0_1
+public N/A return model::Class1::Operation1_0::Param1_0_2
+package false N/A model::Class1::Operation1_1
+private N/A in model::Class1::Operation1_1::Param1_1_0
+private N/A out model::Class1::Operation1_1::Param1_1_1
+private N/A return model::Class1::Operation1_1::Param1_1_2
+package false N/A model::Class1::Operation1_2
+package N/A in model::Class1::Operation1_2::Param1_2_0
+package N/A out model::Class1::Operation1_2::Param1_2_1
+package N/A return model::Class1::Operation1_2::Param1_2_2
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..132a6370bee
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_soQA4Hl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e595bdc30ae
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+Class_1_1 private true
+Class_2_1 private true
+Class_3_1 private true
+Class_4_1 private true
+Class_5_1 private true
+Class_6_1 private true
+Class_7_1 private true
+Class_8_1 private true
+Class_9_1 private true
+Class_10_1 private true
+Class_11_1 private true
+Class_12_1 private true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..292ca025681
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_wIplgHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..cb9c4e293de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,5 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+Class_4_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..dbd576167c1
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_xWwXYHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..2f2ebaa9612
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..fca7b9e9e69
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..55cfe3f6504
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_exrOoHmkEeWIUuCto2liAg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..a38b5789ebd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..f0833a39054
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_1gjeUHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d00189e547a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 public false N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..3e4120bcabc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class2 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..42512ff0774
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_vxwyIILREeWLaq02JKSl_g">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..579acd60a5d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..fbf63fa95cc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0 package false N/A
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
+Class1 public false N/A
+Operation0 package false N/A
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..754939e2e92
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class1 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..073298db54d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class1 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..a54b3702e65
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <styles xmi:type="nattablestyle:TableDisplayStyle" xmi:id="_aB82wILREeWLaq02JKSl_g" displayStyle="HIERARCHIC_MULTI_TREE_COLUMN"/>
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_aTpqwILREeWLaq02JKSl_g" indexStyle="NUMERIC">
+ <styles xmi:type="nattablestyle:IntValueStyle" xmi:id="_aTrf8ILREeWLaq02JKSl_g" name="rowLabelWidth" intValue="153"/>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_cE4vIILiEeW7yO4jdkH8eQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_cE4vIYLiEeW7yO4jdkH8eQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..f4eb917703f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..78d6ed21f7c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0 protected true N/A
+Property1 protected true N/A
+Property2 protected true N/A
+
+NestedClass0 private true N/A
+NestedClass1 private true N/A
+NestedClass2 private true N/A
+
+Operation0 package false N/A
+
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
+Class1 public false N/A
+
+Property0 protected true N/A
+Property1 protected true N/A
+Property2 protected true N/A
+
+NestedClass0 private true N/A
+NestedClass1 private true N/A
+NestedClass2 private true N/A
+
+Operation0 package false N/A
+
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..548c7f093a9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class1 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..174b4ca6dad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class1 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..18bd46a2203
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..79cc4d2c53f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,12 @@
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class_X private true N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..24ba389b997
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,2 @@
+Class_X private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e23f6694839
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..d8c12e9dcd9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..97b795aad85
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..cb9c4e293de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,5 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+Class_4_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e663d706a8c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..579acd60a5d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..fbf63fa95cc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0 package false N/A
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
+Class1 public false N/A
+Operation0 package false N/A
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..754939e2e92
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class1 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..073298db54d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class1 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+Operation1 public true N/A
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..627d140bdf3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..f4eb917703f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..78d6ed21f7c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0 protected true N/A
+Property1 protected true N/A
+Property2 protected true N/A
+
+NestedClass0 private true N/A
+NestedClass1 private true N/A
+NestedClass2 private true N/A
+
+Operation0 package false N/A
+
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
+Class1 public false N/A
+
+Property0 protected true N/A
+Property1 protected true N/A
+Property2 protected true N/A
+
+NestedClass0 private true N/A
+NestedClass1 private true N/A
+NestedClass2 private true N/A
+
+Operation0 package false N/A
+
+Param0 public N/A in
+Param1 public N/A out
+Param2 public N/A return
+Operation1 package false N/A
+
+Param0 private N/A in
+Param1 private N/A out
+Param2 private N/A return
+Operation2 package false N/A
+
+Param0 package N/A in
+Param1 package N/A out
+Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..548c7f093a9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class1 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true N/A
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true N/A
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..174b4ca6dad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class1 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+Class2 package true N/A
+
+Property1 public false N/A
+Property2 public false N/A
+Property3 public false N/A
+
+NestedClass1 package false N/A
+NestedClass2 package false N/A
+NestedClass3 package false N/A
+
+Operation1 public true N/A
+
+Param1 package N/A return
+Param2 package N/A in
+Param3 package N/A out
+Operation2 private true
+
+Param1 public N/A return
+Param2 public N/A in
+Param3 public N/A out
+Operation3 public true
+
+Param1 private N/A return
+Param2 private N/A in
+Param3 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..6244d6d7482
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_cJYNEGlFEeWEcZU4lwyzjA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_cJYNEWlFEeWEcZU4lwyzjA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/isActive"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..16b0030abf5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public N/A false false false
+Class2 public N/A false false false
+Class3 public N/A false false false
+Class4 public N/A false false false
+Class5 public N/A false false false
+Class6 public N/A false false false
+Class7 public N/A false false false
+Class8 public N/A false false false
+Class9 public N/A false false false
+Class10 public N/A false false false
+Class11 public N/A false false false
+Class12 public N/A false false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..83c88ef1d75
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,12 @@
+Class1 public N/A true true true
+Class2 public N/A true true true
+Class3 public N/A true true true
+Class4 public N/A true true true
+Class5 public N/A true true true
+Class6 public N/A true true true
+Class7 public N/A true true true
+Class8 public N/A true true true
+Class9 public N/A true true true
+Class10 public N/A true true true
+Class11 public N/A true true true
+Class12 public N/A true true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..fc1727df4b7
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+true
+true
+true
+true
+true
+true
+true
+true
+true
+true
+true
+true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..45b486e2cc9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..7ffe181ff8d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+Class_4_1 private true N/A
+Class_5_1 private true N/A
+Class_6_1 private true N/A
+Class_7_1 private true N/A
+Class_8_1 private true N/A
+Class_9_1 private true N/A
+Class_10_1 private true N/A
+Class_11_1 private true N/A
+Class_12_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..e72f00c7aa4
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..cb9c4e293de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,5 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+Class_4_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..0328f0a4925
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_lui-IHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..608eb9e77d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,52 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..8c21e826474
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..2772e3ccf5e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_m_PJ8Hl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7SnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7QXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7QnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7S3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7Q3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7THmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7RXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7RnmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7R3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_OmK7SHmiEeWJ7-W-e5W1og" pasteConfiguration="_OmK7TnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OmK7SXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7SnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_F7l7UHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7S3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7THmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_OmK7TnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_OmJtIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_OmK7QHmiEeWJ7-W-e5W1og _OmK7QnmiEeWJ7-W-e5W1og _OmK7RHmiEeWJ7-W-e5W1og _OmK7RnmiEeWJ7-W-e5W1og _OmK7SHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..8083307f368
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,89 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Operation0_0 public true N/A
+Operation0_1 private true N/A
+Operation0_2 public true N/A
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+Operation1_0 public true N/A
+Operation1_1 private true N/A
+Operation1_2 public true N/A
+Class0 package true N/A
+Class1 package true N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..a658db2c7c6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A in
+Param0_0_1 package N/A out
+Param0_0_2 package N/A return
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A in
+Param0_1_1 public N/A out
+Param0_1_2 public N/A return
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A in
+Param0_2_1 private N/A out
+Param0_2_2 private N/A return
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A in
+Param1_0_1 package N/A out
+Param1_0_2 package N/A return
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A in
+Param1_1_1 public N/A out
+Param1_1_2 public N/A return
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A in
+Param1_2_1 private N/A out
+Param1_2_2 private N/A return
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..b141fe32a10
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_pBHsAG5dEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_qjmBgHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..8d94f2c85f9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+public false N/A model::Class0
+package false N/A model::Class0::Operation0_0
+public N/A in model::Class0::Operation0_0::Param0_0_0
+public N/A out model::Class0::Operation0_0::Param0_0_1
+public N/A return model::Class0::Operation0_0::Param0_0_2
+package false N/A model::Class0::Operation0_1
+private N/A in model::Class0::Operation0_1::Param0_1_0
+private N/A out model::Class0::Operation0_1::Param0_1_1
+private N/A return model::Class0::Operation0_1::Param0_1_2
+package false N/A model::Class0::Operation0_2
+package N/A in model::Class0::Operation0_2::Param0_2_0
+package N/A out model::Class0::Operation0_2::Param0_2_1
+package N/A return model::Class0::Operation0_2::Param0_2_2
+public false N/A model::Class1
+package false N/A model::Class1::Operation1_0
+public N/A in model::Class1::Operation1_0::Param1_0_0
+public N/A out model::Class1::Operation1_0::Param1_0_1
+public N/A return model::Class1::Operation1_0::Param1_0_2
+package false N/A model::Class1::Operation1_1
+private N/A in model::Class1::Operation1_1::Param1_1_0
+private N/A out model::Class1::Operation1_1::Param1_1_1
+private N/A return model::Class1::Operation1_1::Param1_1_2
+package false N/A model::Class1::Operation1_2
+package N/A in model::Class1::Operation1_2::Param1_2_0
+package N/A out model::Class1::Operation1_2::Param1_2_1
+package N/A return model::Class1::Operation1_2::Param1_2_2
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..2610f68caa3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_soQA4Hl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e595bdc30ae
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+Class_1_1 private true
+Class_2_1 private true
+Class_3_1 private true
+Class_4_1 private true
+Class_5_1 private true
+Class_6_1 private true
+Class_7_1 private true
+Class_8_1 private true
+Class_9_1 private true
+Class_10_1 private true
+Class_11_1 private true
+Class_12_1 private true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..46f1b2ce367
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_xWwXYHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..cddde68c404
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..fca7b9e9e69
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..4d3941cad42
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_exrOoHmkEeWIUuCto2liAg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..cad4d7c397a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_yZauQHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNWnmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNUXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNUnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNW3miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNU3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXHmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNVXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNVnmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXXmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNV3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_SBJNWHmiEeWJ7-W-e5W1og" pasteConfiguration="_SBJNXnmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_SBJNWXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNWnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_H1ZVkHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNW3miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXHmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXXmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_SBJNXnmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_SBHYIHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_SBJNUHmiEeWJ7-W-e5W1og _SBJNUnmiEeWJ7-W-e5W1og _SBJNVHmiEeWJ7-W-e5W1og _SBJNVnmiEeWJ7-W-e5W1og _SBJNWHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..08861f9305a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_1gjeUHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d00189e547a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 public false N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..3e4120bcabc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class2 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..074a485cf98
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Z_17UHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d4452239fb3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..8beac8dc5ba
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.notation
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_0tdPAHcSEeSOKsM2DkqZ0A" name="ClassTreeTable0" currentRowAxisProvider="_0tdPA3cSEeSOKsM2DkqZ0A" currentColumnAxisProvider="_0tdPAXcSEeSOKsM2DkqZ0A">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml#_W0BLkGZzEeSDCaDFwPGYVw"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_0tdPAXcSEeSOKsM2DkqZ0A" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_0tdPA3cSEeSOKsM2DkqZ0A" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_bTU8cHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_JjN-wHmiEeWJ7-W-e5W1og" pasteConfiguration="_JjOl0HmiEeWJ7-W-e5W1og" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JjN-wXmiEeWJ7-W-e5W1og" alias="Class">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_JjN-wnmiEeWJ7-W-e5W1og" pasteConfiguration="_JjOl0XmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JjN-w3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_JjN-xHmiEeWJ7-W-e5W1og" pasteConfiguration="_JjOl0nmiEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JjN-xXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_JjN-xnmiEeWJ7-W-e5W1og" pasteConfiguration="_JjOl03miEeWJ7-W-e5W1og" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JjN-x3miEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_JjN-yHmiEeWJ7-W-e5W1og" pasteConfiguration="_JjOl1HmiEeWJ7-W-e5W1og" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JjN-yXmiEeWJ7-W-e5W1og" alias="">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JjOl0HmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_C30BQHmjEeWJ7-W-e5W1og">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JjOl0XmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Property">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JjOl0nmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JjOl03miEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JjOl1HmiEeWJ7-W-e5W1og" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_JjMJkHmiEeWJ7-W-e5W1og" localSpecificConfigurations="_JjN-wHmiEeWJ7-W-e5W1og _JjN-wnmiEeWJ7-W-e5W1og _JjN-xHmiEeWJ7-W-e5W1og _JjN-xnmiEeWJ7-W-e5W1og _JjN-yHmiEeWJ7-W-e5W1og">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..78a39ffa2bb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.uml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_W0BLkGZzEeSDCaDFwPGYVw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ANxf4GX6EeWnIND9h9eQPg" name="Class0">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN0jMGX6EeWnIND9h9eQPg" name="Property0_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN738GX6EeWnIND9h9eQPg" name="Property0_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AN-7QGX6EeWnIND9h9eQPg" name="Property0_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOGQAGX6EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOG3EGX6EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOHeIGX6EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOIsQGX6EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOJTUGX6EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOKhcGX6EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOLvkGX6EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOM9sGX6EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AONkwGX6EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOOy4GX6EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOPZ8GX6EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOQBAGX6EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOBXgGX6EeWnIND9h9eQPg" name="NestedClass0_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AODzwGX6EeWnIND9h9eQPg" name="NestedClass0_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOFB4GX6EeWnIND9h9eQPg" name="NestedClass0_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_AORPIGX6EeWnIND9h9eQPg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOR2MGX6EeWnIND9h9eQPg" name="Property1_0" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOTEUGX6EeWnIND9h9eQPg" name="Property1_1" visibility="protected" isLeaf="true"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_AOU5gGX6EeWnIND9h9eQPg" name="Property1_2" visibility="protected" isLeaf="true"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOaZEGX6EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AObnMGX6EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOc1UGX6EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOdcYGX6EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOeqgGX6EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOfRkGX6EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOgfsGX6EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOhGwGX6EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_AOiU4GX6EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOjjAGX6EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOkxIGX6EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_AOlYMGX6EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOWHoGX6EeWnIND9h9eQPg" name="NestedClass1_0" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOXVwGX6EeWnIND9h9eQPg" name="NestedClass1_1" visibility="private" isLeaf="true"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_AOZK8GX6EeWnIND9h9eQPg" name="NestedClass1_2" visibility="private" isLeaf="true"/>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..e39b39deed5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,51 @@
+
+Class0 public false N/A
+
+Property0_0 protected true N/A
+Property0_1 protected true N/A
+Property0_2 protected true N/A
+
+NestedClass0_0 private true N/A
+NestedClass0_1 private true N/A
+NestedClass0_2 private true N/A
+
+Operation0_0 package false N/A
+
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+
+Property1_0 protected true N/A
+Property1_1 protected true N/A
+Property1_2 protected true N/A
+
+NestedClass1_0 private true N/A
+NestedClass1_1 private true N/A
+NestedClass1_2 private true N/A
+
+Operation1_0 package false N/A
+
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..fca7b9e9e69
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_Result.txt
@@ -0,0 +1,51 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..b410f664c5c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,52 @@
+
+Class0 package true N/A
+
+Property0_0 public false N/A
+Property0_1 public false N/A
+Property0_2 public false N/A
+
+NestedClass0_0 package false N/A
+NestedClass0_1 package false N/A
+NestedClass0_2 package false N/A
+
+Operation0_0 public true N/A
+
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+
+Property1_0 public false N/A
+Property1_1 public false N/A
+Property1_2 public false N/A
+
+NestedClass1_0 package false N/A
+NestedClass1_1 package false N/A
+NestedClass1_2 package false N/A
+
+Operation1_0 public true N/A
+
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..f8b818450ef
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_pBHsAG5dEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_ebiqkHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..8d94f2c85f9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+public false N/A model::Class0
+package false N/A model::Class0::Operation0_0
+public N/A in model::Class0::Operation0_0::Param0_0_0
+public N/A out model::Class0::Operation0_0::Param0_0_1
+public N/A return model::Class0::Operation0_0::Param0_0_2
+package false N/A model::Class0::Operation0_1
+private N/A in model::Class0::Operation0_1::Param0_1_0
+private N/A out model::Class0::Operation0_1::Param0_1_1
+private N/A return model::Class0::Operation0_1::Param0_1_2
+package false N/A model::Class0::Operation0_2
+package N/A in model::Class0::Operation0_2::Param0_2_0
+package N/A out model::Class0::Operation0_2::Param0_2_1
+package N/A return model::Class0::Operation0_2::Param0_2_2
+public false N/A model::Class1
+package false N/A model::Class1::Operation1_0
+public N/A in model::Class1::Operation1_0::Param1_0_0
+public N/A out model::Class1::Operation1_0::Param1_0_1
+public N/A return model::Class1::Operation1_0::Param1_0_2
+package false N/A model::Class1::Operation1_1
+private N/A in model::Class1::Operation1_1::Param1_1_0
+private N/A out model::Class1::Operation1_1::Param1_1_1
+private N/A return model::Class1::Operation1_1::Param1_1_2
+package false N/A model::Class1::Operation1_2
+package N/A in model::Class1::Operation1_2::Param1_2_0
+package N/A out model::Class1::Operation1_2::Param1_2_1
+package N/A return model::Class1::Operation1_2::Param1_2_2
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..2c5ae2d5990
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..af8a94ed726
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_hF_eoHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e595bdc30ae
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,13 @@
+Class_1_1 private true
+Class_2_1 private true
+Class_3_1 private true
+Class_4_1 private true
+Class_5_1 private true
+Class_6_1 private true
+Class_7_1 private true
+Class_8_1 private true
+Class_9_1 private true
+Class_10_1 private true
+Class_11_1 private true
+Class_12_1 private true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..383ff6dfce5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_inl0QHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..60363f26ebe
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class2"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQOsGX9EeWnIND9h9eQPg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3CQ1wGX9EeWnIND9h9eQPg" name="Class4"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FuZcGX9EeWnIND9h9eQPg" name="Class5"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3FvAgGX9EeWnIND9h9eQPg" name="Class6"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsGX9EeWnIND9h9eQPg" name="Class7"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3H5jsWX9EeWnIND9h9eQPg" name="Class8"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N0lgGX9EeWnIND9h9eQPg" name="Class9"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3N1MkGX9EeWnIND9h9eQPg" name="Class10"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3ViXEGX9EeWnIND9h9eQPg" name="Class11"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3Vi-IGX9EeWnIND9h9eQPg" name="Class12"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..c5853ddb750
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,12 @@
+Class1 public false N/A
+Class2 public false N/A
+Class3 public false N/A
+Class4 public false N/A
+Class5 public false N/A
+Class6 public false N/A
+Class7 public false N/A
+Class8 public false N/A
+Class9 public false N/A
+Class10 public false N/A
+Class11 public false N/A
+Class12 public false N/A \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..cb9c4e293de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,5 @@
+Class_1_1 private true N/A
+Class_2_1 private true N/A
+Class_3_1 private true N/A
+Class_4_1 private true N/A
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
new file mode 100644
index 00000000000..bea039ddd9d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.notation
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider http://www.eclipse.org/papyrus/nattable/model#//nattablelabelprovider http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_zDRtIHucEeSTu_GUJ96b9g" name="ClassTreeTable0" currentRowAxisProvider="_zDRtI3ucEeSTu_GUJ96b9g" currentColumnAxisProvider="_zDRtIXucEeSTu_GUJ96b9g">
+ <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_6gzOoHucEeSTu_GUJ96b9g" name="hiddenCategoriesByDepth">
+ <intListValue>0</intListValue>
+ <intListValue>1</intListValue>
+ <intListValue>2</intListValue>
+ </styles>
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml#_yDlxwHucEeSTu_GUJ96b9g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/classTreeTable.configuration#_P3J1cEr7EeSVGbM3cmVSqQ"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_zDRtIXucEeSTu_GUJ96b9g" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Yk1o8mZzEeSDCaDFwPGYVw">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9OSsHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/visibility"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wHrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_c9O5wXrxEeSFP8xW-pegcg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_zDRtI3ucEeSTu_GUJ96b9g" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowaAxisManager" disconnectSlave="true"/>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_0T5ngHucEeSTu_GUJ96b9g" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OkXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMHufEeSTu_GUJ96b9g" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OknucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6Ok3ucEeSTu_GUJ96b9g" pasteConfiguration="_BOaEMnufEeSTu_GUJ96b9g" depth="1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlHucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_0T6OlXucEeSTu_GUJ96b9g" pasteConfiguration="_BOaENHufEeSTu_GUJ96b9g" depth="2" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+ <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_0T6OlnucEeSTu_GUJ96b9g">
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </axisUsedAsAxisProvider>
+ <labelProvider xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_kKg_kHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaEMnufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Operation">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/>
+ </ownedAxisConfigurations>
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_BOaENHufEeSTu_GUJ96b9g" pastedElementId="org.eclipse.papyrus.uml.Parameter">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </ownedAxisConfigurations>
+ <axisManagerConfigurations xmi:type="nattableaxisconfiguration:AxisManagerConfiguration" xmi:id="_0T6OkHucEeSTu_GUJ96b9g" localSpecificConfigurations="_0T6OkXucEeSTu_GUJ96b9g _0T6Ok3ucEeSTu_GUJ96b9g _0T6OlXucEeSTu_GUJ96b9g">
+ <axisManager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.clazz.config/configs/class_synchronized_tree.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ </axisManagerConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
new file mode 100644
index 00000000000..3d2092aa123
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.uml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_yDlxwHucEeSTu_GUJ96b9g" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJSvoGX5EeWnIND9h9eQPg" name="Class0">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJVy8GX5EeWnIND9h9eQPg" name="Operation0_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJb5kGX5EeWnIND9h9eQPg" name="Param0_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJeV0GX5EeWnIND9h9eQPg" name="Param0_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJgyEGX5EeWnIND9h9eQPg" name="Param0_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJinQGX5EeWnIND9h9eQPg" name="Operation0_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJj1YGX5EeWnIND9h9eQPg" name="Param0_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJlDgGX5EeWnIND9h9eQPg" name="Param0_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJmRoGX5EeWnIND9h9eQPg" name="Param0_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJnfwGX5EeWnIND9h9eQPg" name="Operation0_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJot4GX5EeWnIND9h9eQPg" name="Param0_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJp8AGX5EeWnIND9h9eQPg" name="Param0_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJrKIGX5EeWnIND9h9eQPg" name="Param0_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wJu0gGX5EeWnIND9h9eQPg" name="Class1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJwCoGX5EeWnIND9h9eQPg" name="Operation1_0" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJx30GX5EeWnIND9h9eQPg" name="Param1_0_0"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJye4GX5EeWnIND9h9eQPg" name="Param1_0_1" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJztAGX5EeWnIND9h9eQPg" name="Param1_0_2" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wJ1iMGX5EeWnIND9h9eQPg" name="Operation1_1" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ3-cGX5EeWnIND9h9eQPg" name="Param1_1_0" visibility="private"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wJ8P4GX5EeWnIND9h9eQPg" name="Param1_1_1" visibility="private" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKAhUGX5EeWnIND9h9eQPg" name="Param1_1_2" visibility="private" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wKBvcGX5EeWnIND9h9eQPg" name="Operation1_2" visibility="package">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKC9kGX5EeWnIND9h9eQPg" name="Param1_2_0" visibility="package"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKDkoGX5EeWnIND9h9eQPg" name="Param1_2_1" visibility="package" direction="out"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wKEywGX5EeWnIND9h9eQPg" name="Param1_2_2" visibility="package" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
new file mode 100644
index 00000000000..d9613c55b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Initial.txt
@@ -0,0 +1,26 @@
+Class0 public false N/A
+Operation0_0 package false N/A
+Param0_0_0 public N/A in
+Param0_0_1 public N/A out
+Param0_0_2 public N/A return
+Operation0_1 package false N/A
+Param0_1_0 private N/A in
+Param0_1_1 private N/A out
+Param0_1_2 private N/A return
+Operation0_2 package false N/A
+Param0_2_0 package N/A in
+Param0_2_1 package N/A out
+Param0_2_2 package N/A return
+Class1 public false N/A
+Operation1_0 package false N/A
+Param1_0_0 public N/A in
+Param1_0_1 public N/A out
+Param1_0_2 public N/A return
+Operation1_1 package false N/A
+Param1_1_0 private N/A in
+Param1_1_1 private N/A out
+Param1_1_2 private N/A return
+Operation1_2 package false N/A
+Param1_2_0 package N/A in
+Param1_2_1 package N/A out
+Param1_2_2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
new file mode 100644
index 00000000000..d00189e547a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_Result.txt
@@ -0,0 +1,26 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true N/A
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true N/A
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class1 public false N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true N/A
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true N/A
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..3e4120bcabc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test_ToCopy.txt
@@ -0,0 +1,27 @@
+Class0 package true N/A
+Operation0_0 public true N/A
+Param0_0_0 package N/A return
+Param0_0_1 package N/A in
+Param0_0_2 package N/A out
+Operation0_1 private true
+Param0_1_0 public N/A return
+Param0_1_1 public N/A in
+Param0_1_2 public N/A out
+Operation0_2 public true
+Param0_2_0 private N/A return
+Param0_2_1 private N/A in
+Param0_2_2 private N/A out
+Class2 package true N/A
+Operation1_0 public true N/A
+Param1_0_0 package N/A return
+Param1_0_1 package N/A in
+Param1_0_2 package N/A out
+Operation1_1 private true
+Param1_1_0 public N/A return
+Param1_1_1 public N/A in
+Param1_1_2 public N/A out
+Operation1_2 public true
+Param1_2_0 private N/A return
+Param1_2_1 private N/A in
+Param1_2_2 private N/A out
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_H1_V3_H1_MultiColumns_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_H1_V3_H1_MultiColumns_Test.txt
new file mode 100644
index 00000000000..b1781ba9568
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_H1_V3_H1_MultiColumns_Test.txt
@@ -0,0 +1,45 @@
+
+Class0 Class0 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
+Class1 Class1 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return \ No newline at end of file
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_V1_V3_V1_MultiColumns_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_V1_V3_V1_MultiColumns_Test.txt
new file mode 100644
index 00000000000..9052fa993e7
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/PasteWithCategories_V1_V3_V1_MultiColumns_Test.txt
@@ -0,0 +1,52 @@
+
+Class
+ Class0 Class0 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
+ Class1 Class1 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_AttachedMode_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_AttachedMode_Test.txt
index 0212eba427f..395da98bce7 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_AttachedMode_Test.txt
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_AttachedMode_Test.txt
@@ -8,7 +8,7 @@ Class0 Class0 public false N/A
NestedClass1 NestedClass1 private true N/A
NestedClass2 NestedClass2 private true N/A
ownedOperation
- Operation0 Operation0 package false N/A
+ Operation0 Operation0 package false N/A
Param0 Param0 public N/A in
Param1 Param1 public N/A out
Param2 Param2 public N/A return
@@ -41,4 +41,4 @@ Class1 Class1 public false N/A
Operation2 Operation2 package false
Param0 Param0 package N/A in
Param1 Param1 package N/A out
- Param2 Param2 package N/A return \ No newline at end of file
+ Param2 Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_AttachedMode_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_AttachedMode_Test.txt
index 6d7aff81849..78631be2438 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_AttachedMode_Test.txt
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/attachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_AttachedMode_Test.txt
@@ -1,51 +1,51 @@
-Class
- Class0 Class0 public false N/A
- ownedAttribute
- Property0 Property0 protected true N/A
- Property1 Property1 protected true N/A
- Property2 Property2 protected true N/A
- nestedClassifier
- NestedClass0 NestedClass0 private true N/A
- NestedClass1 NestedClass1 private true N/A
- NestedClass2 NestedClass2 private true N/A
- ownedOperation
- Operation0 Operation0 package false N/A
- ownedParameter
- Param0 Param0 public N/A in
- Param1 Param1 public N/A out
- Param2 Param2 public N/A return
- Operation1 Operation1 package false
- ownedParameter
- Param0 Param0 private N/A in
- Param1 Param1 private N/A out
- Param2 Param2 private N/A return
- Operation2 Operation2 package false
- ownedParameter
- Param0 Param0 package N/A in
- Param1 Param1 package N/A out
- Param2 Param2 package N/A return
- Class1 Class1 public false N/A
- ownedAttribute
- Property0 Property0 protected true N/A
- Property1 Property1 protected true N/A
- Property2 Property2 protected true N/A
- nestedClassifier
- NestedClass0 NestedClass0 private true N/A
- NestedClass1 NestedClass1 private true N/A
- NestedClass2 NestedClass2 private true N/A
- ownedOperation
- Operation0 Operation0 package false N/A
- ownedParameter
- Param0 Param0 public N/A in
- Param1 Param1 public N/A out
- Param2 Param2 public N/A return
- Operation1 Operation1 package false
- ownedParameter
- Param0 Param0 private N/A in
- Param1 Param1 private N/A out
- Param2 Param2 private N/A return
- Operation2 Operation2 package false
- ownedParameter
- Param0 Param0 package N/A in
- Param1 Param1 package N/A out
- Param2 Param2 package N/A return
+Class
+ Class0 Class0 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
+ Class1 Class1 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_DetachedMode_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_DetachedMode_Test.txt
index 0212eba427f..395da98bce7 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_DetachedMode_Test.txt
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_H1_V3_H1_MultiColumns_DetachedMode_Test.txt
@@ -8,7 +8,7 @@ Class0 Class0 public false N/A
NestedClass1 NestedClass1 private true N/A
NestedClass2 NestedClass2 private true N/A
ownedOperation
- Operation0 Operation0 package false N/A
+ Operation0 Operation0 package false N/A
Param0 Param0 public N/A in
Param1 Param1 public N/A out
Param2 Param2 public N/A return
@@ -41,4 +41,4 @@ Class1 Class1 public false N/A
Operation2 Operation2 package false
Param0 Param0 package N/A in
Param1 Param1 package N/A out
- Param2 Param2 package N/A return \ No newline at end of file
+ Param2 Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.txt
index 6d7aff81849..78631be2438 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.txt
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/resources/paste_tests/detachedMode/multi_columns/PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.txt
@@ -1,51 +1,51 @@
-Class
- Class0 Class0 public false N/A
- ownedAttribute
- Property0 Property0 protected true N/A
- Property1 Property1 protected true N/A
- Property2 Property2 protected true N/A
- nestedClassifier
- NestedClass0 NestedClass0 private true N/A
- NestedClass1 NestedClass1 private true N/A
- NestedClass2 NestedClass2 private true N/A
- ownedOperation
- Operation0 Operation0 package false N/A
- ownedParameter
- Param0 Param0 public N/A in
- Param1 Param1 public N/A out
- Param2 Param2 public N/A return
- Operation1 Operation1 package false
- ownedParameter
- Param0 Param0 private N/A in
- Param1 Param1 private N/A out
- Param2 Param2 private N/A return
- Operation2 Operation2 package false
- ownedParameter
- Param0 Param0 package N/A in
- Param1 Param1 package N/A out
- Param2 Param2 package N/A return
- Class1 Class1 public false N/A
- ownedAttribute
- Property0 Property0 protected true N/A
- Property1 Property1 protected true N/A
- Property2 Property2 protected true N/A
- nestedClassifier
- NestedClass0 NestedClass0 private true N/A
- NestedClass1 NestedClass1 private true N/A
- NestedClass2 NestedClass2 private true N/A
- ownedOperation
- Operation0 Operation0 package false N/A
- ownedParameter
- Param0 Param0 public N/A in
- Param1 Param1 public N/A out
- Param2 Param2 public N/A return
- Operation1 Operation1 package false
- ownedParameter
- Param0 Param0 private N/A in
- Param1 Param1 private N/A out
- Param2 Param2 private N/A return
- Operation2 Operation2 package false
- ownedParameter
- Param0 Param0 package N/A in
- Param1 Param1 package N/A out
- Param2 Param2 package N/A return
+Class
+ Class0 Class0 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
+ Class1 Class1 public false N/A
+ ownedAttribute
+ Property0 Property0 protected true N/A
+ Property1 Property1 protected true N/A
+ Property2 Property2 protected true N/A
+ nestedClassifier
+ NestedClass0 NestedClass0 private true N/A
+ NestedClass1 NestedClass1 private true N/A
+ NestedClass2 NestedClass2 private true N/A
+ ownedOperation
+ Operation0 Operation0 package false N/A
+ ownedParameter
+ Param0 Param0 public N/A in
+ Param1 Param1 public N/A out
+ Param2 Param2 public N/A return
+ Operation1 Operation1 package false
+ ownedParameter
+ Param0 Param0 private N/A in
+ Param1 Param1 private N/A out
+ Param2 Param2 private N/A return
+ Operation2 Operation2 package false
+ ownedParameter
+ Param0 Param0 package N/A in
+ Param1 Param1 package N/A out
+ Param2 Param2 package N/A return
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportCellsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportCellsTest.java
new file mode 100644
index 00000000000..e46006ce5d2
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportCellsTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportCellsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportEmptyTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportEmptyTest.java
new file mode 100644
index 00000000000..52ca426f7c5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportEmptyTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportRowsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportRowsTest.java
new file mode 100644
index 00000000000..4360bf50776
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportRowsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportTest.java
new file mode 100644
index 00000000000..ecde1622778
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/AbstractImportTest.java
@@ -0,0 +1,148 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the import CSV file tests.
+ */
+public abstract class AbstractImportTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/import/"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate if the final dialog must be opened for the import.
+ */
+ public static final String OPEN_DIALOG_BOOLEAN_PARAMETER = "openDialog"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate the selected file path.
+ */
+ public static final String SELECTED_FILE_PATH_STRING_PARAMETER = "selectedFilePath"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractImportTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testImport() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ final IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", tableEditor instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a tree nattable model manager", manager instanceof ITreeNattableModelManager); //$NON-NLS-1$
+
+ final TreeNattableModelManager treeManager = (TreeNattableModelManager) manager;
+
+ // Check the table context before command
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ flushDisplayEvents();
+ manageSelection(treeManager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); // $NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(ImportTableHandler.OPEN_DIALOG_BOOLEAN_PARAMETER, Boolean.FALSE);
+ manageParameters(parameters, manager);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ cmd.executeWithChecks(event);
+
+ // Check the table content after command
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(treeManager);
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ // Create the path for the csv to load (must be with the following form : 'resources/import/TableName.csv')
+ URI uri = manager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.CSV_EXTENSIOn);
+
+ String csvFileAsString = getWantedString(buffer.toString());
+
+ parameters.put(ImportTableHandler.SELECTED_FILE_PATH_STRING_PARAMETER, csvFileAsString);
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..97c487323bd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportCellsAll_H1_H1_H1_MultiColumns_Test extends AbstractImportCellsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportCellsAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportCellsAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing : The undo/redo is not implemented for the old basic paste
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..cecca8abbfa
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportCellsAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportCellsAll_V1_V3_V1_MultiColumns_Test extends AbstractImportCellsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportCellsAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportCellsAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing : The undo/redo is not implemented for the old basic paste
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..1a518e1cb9e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptyAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..bb9526bc1c8
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptyAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..f2bb05c472b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptyReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..26c8d3891b3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptyReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..26996e5418f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptySkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..9729928c783
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportEmptySkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..c9056cb5424
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsAddAll_H1_H1_H1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsAddAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..dfa88664393
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsAddAll_V1_V3_V1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsAddAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..a4f5d889df5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..87dae40ae6d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..0e0afdfa790
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..08a668dc5be
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/importfile/ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("ImportRowsSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.AbstractImportRowsTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertEmptyTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertEmptyTest.java
new file mode 100644
index 00000000000..14d8feed9dd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the insert with overwrite tests.
+ */
+public abstract class AbstractInsertEmptyTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertRowsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertRowsTest.java
new file mode 100644
index 00000000000..10ecbb6aa84
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractInsertRowsTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertTest.java
new file mode 100644
index 00000000000..526755baaf5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/AbstractInsertTest.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.Activator;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractInsertTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/insert/"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractInsertTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testInsert() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ final IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", tableEditor instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a tree nattable model manager", manager instanceof ITreeNattableModelManager); //$NON-NLS-1$
+
+ final TreeNattableModelManager treeManager = (TreeNattableModelManager) manager;
+
+ // Check the table context before command
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(treeManager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(treeManager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(treeManager);
+
+ // we close the table, we re-open it and we check that is contains is correct!
+ testClose_Open();
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters){
+ // Do nothing
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..4e65ce1fe70
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..200c3114ec0
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..efbd3c6501c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyAxisIdentifierNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..940e5be3a29
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..dc4d10c55c4
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..59f9f2d8578
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..82e761aba5b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptySkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..53ada89edab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptySkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..af5acc81624
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertEmptyWarningNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..21050259da8
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsAddAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..5ea96dd9a72
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertRowsAddAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..7c2c294b542
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsAxisIdentifierNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..e66642d8eef
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 11, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..5abfd0f26d8
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class InsertRowsFailRows_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsFailRows_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 10, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..c0cc25b7520
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..b4c1e8b67cd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..c3170fc731e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..06f854c5f8b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..4862744d8b4
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/insert/InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("InsertRowsWarningNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
new file mode 100644
index 00000000000..6a2529caf92
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteCellsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
new file mode 100644
index 00000000000..657ca3dcd93
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteColumnsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
new file mode 100644
index 00000000000..a5edf4e073e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteEmptyOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Override
+ @Test
+ public void testPaste() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ final IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", tableEditor instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a tree nattable model manager", manager instanceof ITreeNattableModelManager); //$NON-NLS-1$
+
+ final TreeNattableModelManager treeManager = (TreeNattableModelManager) manager;
+
+ // Check the table context before command
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(treeManager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(treeManager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(treeManager);
+
+ // we close the table, we re-open it and we check that is contains is correct!
+ testClose_Open();
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters){
+ // Do nothing
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteInsertTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteInsertTest.java
new file mode 100644
index 00000000000..ffc06a101c3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteInsertTest.java
@@ -0,0 +1,420 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.commands.OpenDiagramCommand;
+import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.tree.CollapseAndExpandActionsEnum;
+import org.eclipse.papyrus.infra.nattable.utils.FillingConfigurationUtils;
+import org.eclipse.papyrus.infra.nattable.utils.StyleUtils;
+import org.eclipse.papyrus.infra.nattable.utils.TableClipboardUtils;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.junit.utils.EditorUtils;
+import org.eclipse.papyrus.junit.utils.GenericUtils;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.Activator;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteInsertTest extends AbstractOpenTableTest {
+
+ /**
+ * The suffix of the file containing the initial content.
+ */
+ public static final String INITIAL_POST_FILE_NAME = "_Initial"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the content to copy.
+ */
+ public static final String TOCOPY_POST_FILE_NAME = "_ToCopy"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the result content.
+ */
+ public static final String RESULT_POST_FILE_NAME = "_Result"; //$NON-NLS-1$
+
+ /**
+ * The operation base name.
+ */
+ public static final String OPERATION_BASE_NAME = "Operation"; //$NON-NLS-1$
+
+ /**
+ * The parameter base name.
+ */
+ public static final String PARAMETER_BASE_NAME = "Param"; //$NON-NLS-1$
+
+ /**
+ * The property base name.
+ */
+ public static final String PROPERTY_BASE_NAME = "Property"; //$NON-NLS-1$
+
+ /**
+ * The class base name.
+ */
+ public static final String CLASS_BASE_NAME = "Class"; //$NON-NLS-1$
+
+ /**
+ * The nested class base name.
+ */
+ public static final String NESTED_CLASS_BASE_NAME = "NestedClass"; //$NON-NLS-1$
+
+ /**
+ * The class element identifier.
+ */
+ public static final String CLASS_ELEMENT_ID = "org.eclipse.papyrus.uml.Class"; //$NON-NLS-1$
+
+ /**
+ * The operation element identifier.
+ */
+ public static final String OPERATION_ELEMENT_ID = "org.eclipse.papyrus.uml.Operation"; //$NON-NLS-1$
+
+ /**
+ * The parameter element identifier.
+ */
+ public static final String PARAMETER_ELEMENT_ID = "org.eclipse.papyrus.uml.Parameter"; //$NON-NLS-1$
+
+ /**
+ * The property element identifier.
+ */
+ public static final String PROPERTY_ELEMENT_ID = "org.eclipse.papyrus.uml.Property"; //$NON-NLS-1$
+
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteInsertTest() {
+ super();
+ }
+
+ /**
+ * Initialize the model.
+ *
+ * @throws Exception
+ * The caught exception.
+ */
+ @Before
+ public void initModel() throws Exception {
+ initModel("classTreeTable", getClass().getSimpleName(), getBundle()); //$NON-NLS-1$
+ };
+
+ /**
+ * Check the model for the test consistency.
+ *
+ * @throws Exception
+ * The caught exception.
+ */
+ @Test
+ public void checkModelForTestConsistency() throws Exception {
+ String className = getClass().getSimpleName();
+ className = removeClassName(className);
+ String[] result = className.split("_"); //$NON-NLS-1$
+ Assert.assertTrue("The class name is not correcly build", result.length == 5); //$NON-NLS-1$
+ for (int depth = 0; depth < 3; depth++) {
+ String current = result[depth];
+ // filled by DnD
+ if (current.equals("Empty")) { //$NON-NLS-1$
+ // no configuration
+ Assert.assertTrue("We must not have filling configuration for depth==0", FillingConfigurationUtils.getAllTreeFillingConfigurationForDepth(getTable(), 0).size() == 0); //$NON-NLS-1$
+ // we can't hide a depth for which we don't have category
+
+ Assert.assertTrue("The depth 0 can't be hidden", StyleUtils.isHiddenDepth(getTable(), 0) == false);//$NON-NLS-1$
+ } else {
+ Assert.assertEquals("The class name is not correcly build", 2, current.length()); //$NON-NLS-1$
+ char visibility = current.charAt(0);
+ char nbCategoriesForTheDepth = current.charAt(1);
+ switch (visibility) {
+ case 'H':
+ Assert.assertTrue(NLS.bind("The depth {0} must be hidden", depth), true == StyleUtils.isHiddenDepth(getTable(), depth));//$NON-NLS-1$
+ break;
+ case 'V':
+ Assert.assertTrue(NLS.bind("The depth {0} must be visible", depth), false == StyleUtils.isHiddenDepth(getTable(), depth));//$NON-NLS-1$
+ break;
+ default:
+ throw new Exception("Not supported case"); //$NON-NLS-1$
+ }
+ // we check that we have the wanted number of filling categories
+ List<TreeFillingConfiguration> confs = FillingConfigurationUtils.getAllTreeFillingConfigurationForDepth(getTable(), depth);
+ int nbConfig = confs.size();
+ int wantedConfig = Integer.parseInt(String.valueOf(nbCategoriesForTheDepth));
+ Assert.assertEquals("The number of configuration is not the expected one", wantedConfig, nbConfig); //$NON-NLS-1$
+
+ if (depth == 0) {
+ Assert.assertTrue("The configuration number is not correct", confs.size() == 1); //$NON-NLS-1$
+ for (TreeFillingConfiguration tmp : confs) {
+ PasteEObjectConfiguration pasteConf = tmp.getPasteConfiguration();
+ Assert.assertNotNull("We don't have paste configuration for a TreeFillingConfiguration, depth=" + tmp.getDepth(), pasteConf); //$NON-NLS-1$
+ if (depth == 0) {
+ Assert.assertTrue("The configuration number is not correct for the tree filling", confs.size() == 1); //$NON-NLS-1$
+ Assert.assertTrue("The pasted element id is not correctly defined", CLASS_ELEMENT_ID.equals(pasteConf.getPastedElementId())); //$NON-NLS-1$
+ }
+ }
+ }else if (depth == 1) {
+ boolean nestedClass = false;
+ boolean operation = false;
+ boolean property = false;
+
+ for (TreeFillingConfiguration tmp : confs) {
+ PasteEObjectConfiguration pasteConf = tmp.getPasteConfiguration();
+ Assert.assertNotNull("We don't have paste configuration for a TreeFillingConfiguration, depth=" + tmp.getDepth(), pasteConf); //$NON-NLS-1$
+ if (depth == 1) {
+ if (PROPERTY_ELEMENT_ID.equals(pasteConf.getPastedElementId())) {
+ property = true;
+ } else if (OPERATION_ELEMENT_ID.equals(pasteConf.getPastedElementId())) {
+ operation = true;
+ } else if (CLASS_ELEMENT_ID.equals(pasteConf.getPastedElementId())) {
+ nestedClass = true;
+ }
+ }
+ }
+ if (confs.size() == 3) {
+ Assert.assertTrue("Table configuration must contains property", property); //$NON-NLS-1$
+ Assert.assertTrue("Table configuration must contains operation", operation); //$NON-NLS-1$
+ Assert.assertTrue("Table configuration must contains nestedClass", nestedClass); //$NON-NLS-1$
+ } else if (confs.size() == 1) {
+ Assert.assertTrue("Table configuration must not contains property", !property); //$NON-NLS-1$
+ Assert.assertTrue("Table configuration must contains opration", operation); //$NON-NLS-1$
+ Assert.assertTrue("Table configuration must not contains nestedClass", !nestedClass); //$NON-NLS-1$
+ }
+ }else if (depth == 2) {
+ for (TreeFillingConfiguration tmp : confs) {
+ PasteEObjectConfiguration pasteConf = tmp.getPasteConfiguration();
+ Assert.assertNotNull("We don't have paste configuration for a TreeFillingConfiguration, depth=" + tmp.getDepth(), pasteConf); //$NON-NLS-1$
+
+ Assert.assertTrue("The configuration number is not correct for the tree filling", confs.size() == 1); //$NON-NLS-1$
+ Assert.assertTrue("The pasted element id is not correctly defined", PARAMETER_ELEMENT_ID.equals(pasteConf.getPastedElementId())); //$NON-NLS-1$
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This allows to set the selection in table for the paste. The initial selection is the first cell of the table.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ public abstract void manageSelection(final NattableModelManager treeManager) throws Exception;
+
+ /**
+ * This allows to test the close of the table and the re-open.
+ *
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void testClose_Open() throws Exception {
+ final Command cmd = EclipseCommandUtils.getCommandService().getCommand("org.eclipse.ui.file.save"); //$NON-NLS-1$
+ cmd.executeWithChecks(new ExecutionEvent());
+
+ this.editor.getEditorSite().getPage().closeEditor(editor, false);
+
+ editor = EditorUtils.openPapyrusEditor(diModelFile);
+
+ final IPageManager pageManager = editor.getServicesRegistry().getService(IPageManager.class);
+ Assert.assertEquals("Only the table page must be open", 1, pageManager.allPages().size()); //$NON-NLS-1$
+ IEditorPart tableEditor = editor.getActiveEditor();
+
+ // the editor has been saved, so the table is already opened when we re open the model
+ final Resource notationResource = NotationUtils.getNotationModel(editor.getServicesRegistry().getService(ModelSet.class)).getResource();
+ final Table table = (Table) notationResource.getContents().get(0);
+ final TransactionalEditingDomain editingDomain = editor.getServicesRegistry().getService(TransactionalEditingDomain.class);
+ editingDomain.getCommandStack().execute(new GMFtoEMFCommandWrapper(new OpenDiagramCommand(editingDomain, table)));
+
+ tableEditor = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", tableEditor instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a tree nattable model manager", manager instanceof ITreeNattableModelManager); //$NON-NLS-1$
+ }
+
+ /**
+ * This allows to test the undo redo commands.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void testUndo_Redo(final TreeNattableModelManager treeManager) throws Exception {
+ // Check the undo
+ getTransactionalEditingDomain().getCommandStack().undo();
+ // Check the table context after undo
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Check the redo
+ getTransactionalEditingDomain().getCommandStack().redo();
+ // Check the table context after redo
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+ }
+
+ /**
+ * This allows to check the returned status.
+ *
+ * @param status
+ * The status.
+ */
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertTrue("The status must be OK", status.isOK()); //$NON-NLS-1$
+ }
+
+ /**
+ * This allows to check the table content comparing the table content with file content.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to check.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void checkTableContent(final TreeNattableModelManager treeManager, final String suffixFileName) throws Exception {
+ flushDisplayEvents();
+ treeManager.doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
+ final NatTable natTable = (NatTable) treeManager.getAdapter(NatTable.class);
+ flushDisplayEvents();
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ treeManager.selectAll();
+ treeManager.copyToClipboard();
+ String clipboard = getClipboardContent();
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertNotNull("Clipboard must not be null", clipboard); //$NON-NLS-1$
+ String str = getWantedString(getSuffixStateFileName(treeManager, suffixFileName));
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertEquals("The clipboard must be equals to string which one it is filled", str, clipboard); //$NON-NLS-1$
+ }
+
+ /**
+ * This allows to replace the useless class name part.
+ *
+ * @param className
+ * The initial class name.
+ * @return The name of the class without the useless name part.
+ * @throws Exception
+ * The caught exception
+ */
+ public abstract String removeClassName(final String className) throws Exception;
+
+ /**
+ * Get the string content from a file.
+ *
+ * @param fileName
+ * a file name
+ * @return
+ * the text stored in the file associated to this test
+ */
+ protected String getWantedString(final String fileName) {
+ return FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName, FileUtils.getSystemPropertyLineSeparator());// $NON-NLS-1$
+ }
+
+ /**
+ * Get the file name corresponding to the model with the suffix in parameter.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to get.
+ * @return The file name corresponding
+ */
+ protected String getSuffixStateFileName(final TreeNattableModelManager treeManager, final String suffixFileName) {
+ URI uri = treeManager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(suffixFileName);
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.TEXT_EXTENSION);
+ return buffer.toString();
+ }
+
+ /**
+ * Get the clipboard contents.
+ *
+ * @return
+ * the clipboard contents.
+ */
+ protected String getClipboardContent() {
+ String clipboard = TableClipboardUtils.getClipboardContentsAsString();
+ return clipboard;
+ }
+
+ /**
+ * This allows to fill the clipboard with the string in parameter.
+ *
+ * @param newClipBoardContents
+ * The string needed to fill the clipboard.
+ */
+ protected void fillClipboard(final String newClipBoardContents) {
+
+ // its seems that the clipboard must be filled with the same way than we read it!
+ java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+
+ StringSelection s = new StringSelection(newClipBoardContents);
+ clipboard.setContents(s, s);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getBundle()
+ */
+ @Override
+ protected Bundle getBundle() {
+ return Activator.getDefault().getBundle();
+ }
+
+ /**
+ * This allows to close the editors.
+ */
+ @AfterClass
+ public static void endOfTest() {
+ GenericUtils.closeAllEditors();
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteOverwriteTest.java
new file mode 100644
index 00000000000..44bf08e25ec
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteOverwriteTest.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteOverwriteTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String PASTE_FOLDER_PATH = "/resources/paste_overwrite/"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteOverwriteTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testPaste() throws Exception {
+ testOpenExistingTable("classTreeTable", " openTest"); //$NON-NLS-1$ //$NON-NLS-2$
+ final IEditorPart tableEditor = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", tableEditor instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a tree nattable model manager", manager instanceof ITreeNattableModelManager); //$NON-NLS-1$
+
+ final TreeNattableModelManager treeManager = (TreeNattableModelManager) manager;
+
+ // Check the table context before command
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(treeManager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(treeManager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(treeManager);
+
+ // we close the table, we re-open it and we check that is contains is correct!
+ testClose_Open();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return PASTE_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
new file mode 100644
index 00000000000..2ca475dee3a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteRowsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..9ec4e66cd2f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteCellsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..94d8d9f3d40
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteCellsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..d3f7bdee96f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteCellsOverwriteByOneLine_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 9, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..5d374f879d2
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteCellsOverwriteFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..9c405915a7b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteCellsOverwriteFailRows_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..48584a6ebf3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteColumnsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..02c0e603ac7
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteColumnsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..9f019e9ee22
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteColumnsOverwriteByOneLine_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 0, false, false));
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 5, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..37d24f18f42
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteColumnsOverwriteFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..a13c9a27614
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteColumnsOverwriteFailRows_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 3, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..439aa8b2ea7
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..8299bdae33a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteAddAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..97a9864f4cf
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteAxisIdentifierNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..63191475032
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..d9e3356e58a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..510fae40c8c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteReplaceAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..cec426c37af
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$ k
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..328b06b13eb
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteSkipAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(TreeNattableModelManager treeManager) throws Exception {
+ // Do nothing
+ // Everything is good, status is OK, but no action was managed
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..0bec5348136
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteEmptyOverwriteWarningNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..f5d01f32cb4
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
new file mode 100644
index 00000000000..27ed6c2f0e6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with visible categories.
+ */
+public class PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteAll_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 50, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..bbae863f9e5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteAxisIdentifierNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..f22311ca0c1
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteFailColumns_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 11, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..c194fff5a52
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteFailRows_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 10, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
new file mode 100644
index 00000000000..a876a7f429d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#removeClassName(java.lang.String)
+ */
+ @Override
+ public String removeClassName(final String className) throws Exception {
+ return className.replaceFirst("PasteRowsOverwriteWarningNotExisting_", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 25, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
index 8fc62a1c83a..9fdc4d9056d 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AllTests.java
@@ -14,6 +14,7 @@
*****************************************************************************/
package org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests;
+import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.AxisChangeIndexWithConfigurationTest;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.AxisChangeIndexWithoutConfigurationTest;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.bugs.EditInvalidPastedText_V1_V3_V1;
@@ -45,6 +46,64 @@ import org.eclipse.papyrus.uml.nattable.clazz.config.tests.filter.ReopenFiltered
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.filter.ReopenFilteredTable_V1_H1_V1;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.filter.ReopenFilteredTable_V1_V1_H1;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.filter.ReopenFilteredTable_V1_V1_V1;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportCellsAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportCellsAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsAddAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsAddAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.importfile.ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsAddAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsAddAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsFailRows_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.insert.InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test;
+import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.tests.PasteWithCategories_Empty_H1_H1_MultiColumns_AttachedMode_Test;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.tests.PasteWithCategories_Empty_H1_H1_MultiColumns_DetachedMode_Test;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.tests.PasteWithCategories_Empty_H1_H1_SingleColumn_AttachedMode_Test;
@@ -106,7 +165,6 @@ import org.eclipse.papyrus.uml.nattable.clazz.config.tests.sort.Sort_V1_V3_V1;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.unset.UnsetCellValueWithProfile_V1_V3_V1_Test;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.unset.UnsetCellValue_H1_H3_H1_Test;
import org.junit.runner.RunWith;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(ClassificationSuite.class)
@@ -115,7 +173,7 @@ import org.junit.runners.Suite.SuiteClasses;
OpenTableTest.class,
OpenAndDeleteTest.class,
Bug_481017_ReloadEditorTest.class,
-
+
SortAxisClassTreeTableTest.class,
EditAxisClassTreeTableTest.class,
@@ -128,7 +186,7 @@ import org.junit.runners.Suite.SuiteClasses;
// SORT
Sort_V1_V3_V1.class,
Sort_H1_H3_H1.class,
-
+
// Bug 473155 : change axis index style
AxisChangeIndexWithConfigurationTest.class,
AxisChangeIndexWithoutConfigurationTest.class,
@@ -240,6 +298,76 @@ import org.junit.runners.Suite.SuiteClasses;
PasteWithCategories_V1_H1_V1_MultiColumns_DetachedMode_Test.class,
PasteWithCategories_V1_V3_H1_MultiColumns_DetachedMode_Test.class,
PasteWithCategories_V1_V3_V1_MultiColumns_DetachedMode_Test.class,
+
+ // Tests of the paste with overwrite
+ PasteCellsOverwriteAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteCellsOverwriteAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteCellsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.class,
+ PasteCellsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.class,
+ PasteCellsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.class,
+
+ PasteColumnsOverwriteAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteColumnsOverwriteAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteColumnsOverwriteByOneLine_H1_H1_H1_MultiColumns_Test.class,
+ PasteColumnsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.class,
+ PasteColumnsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.class,
+
+ PasteRowsOverwriteAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteRowsOverwriteAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteRowsOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.class,
+ PasteRowsOverwriteFailRows_H1_H1_H1_MultiColumns_Test.class,
+ PasteRowsOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.class,
+ PasteRowsOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.class,
+
+ PasteEmptyOverwriteReplaceAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteEmptyOverwriteReplaceAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteEmptyOverwriteAddAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteEmptyOverwriteAddAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteEmptyOverwriteSkipAll_H1_H1_H1_MultiColumns_Test.class,
+ PasteEmptyOverwriteSkipAll_V1_V3_V1_MultiColumns_Test.class,
+ PasteEmptyOverwriteFailColumns_H1_H1_H1_MultiColumns_Test.class,
+ PasteEmptyOverwriteWarningNotExisting_H1_H1_H1_MultiColumns_Test.class,
+ PasteEmptyOverwriteAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.class,
+
+ // Tests of insert
+ InsertRowsReplaceAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsReplaceAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertRowsAddAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsAddAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertRowsSkipAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsSkipAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertRowsFailColumns_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsFailRows_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsWarningNotExisting_H1_H1_H1_MultiColumns_Test.class,
+ InsertRowsAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.class,
+
+ InsertEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertEmptyAddAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertEmptyAddAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertEmptySkipAll_H1_H1_H1_MultiColumns_Test.class,
+ InsertEmptySkipAll_V1_V3_V1_MultiColumns_Test.class,
+ InsertEmptyFailColumns_H1_H1_H1_MultiColumns_Test.class,
+ InsertEmptyWarningNotExisting_H1_H1_H1_MultiColumns_Test.class,
+ InsertEmptyAxisIdentifierNotExisting_H1_H1_H1_MultiColumns_Test.class,
+
+ // Import test
+ ImportCellsAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportCellsAll_V1_V3_V1_MultiColumns_Test.class,
+
+ ImportRowsReplaceAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportRowsReplaceAll_V1_V3_V1_MultiColumns_Test.class,
+ ImportRowsAddAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportRowsAddAll_V1_V3_V1_MultiColumns_Test.class,
+ ImportRowsSkipAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportRowsSkipAll_V1_V3_V1_MultiColumns_Test.class,
+
+ ImportEmptyReplaceAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportEmptyReplaceAll_V1_V3_V1_MultiColumns_Test.class,
+ ImportEmptyAddAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportEmptyAddAll_V1_V3_V1_MultiColumns_Test.class,
+ ImportEmptySkipAll_H1_H1_H1_MultiColumns_Test.class,
+ ImportEmptySkipAll_V1_V3_V1_MultiColumns_Test.class,
})
public class AllTests {
// JUnit 4 test suite
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.csv
new file mode 100644
index 00000000000..fd55db9a7e8
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.csv
@@ -0,0 +1,3 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.notation
new file mode 100644
index 00000000000..f2c17acbd7c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportCellsAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportCellsAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportCellsAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportCellsAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportCellsAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Result.txt
new file mode 100644
index 00000000000..a899dc3cd14
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportCellsAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.notation
new file mode 100644
index 00000000000..87f71d819d0
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyAddAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyAddAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyAddAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Result.txt
new file mode 100644
index 00000000000..a899dc3cd14
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.notation
new file mode 100644
index 00000000000..26818c94fad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyReplaceAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyReplaceAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptyReplaceAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptyReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.notation
new file mode 100644
index 00000000000..25dfa014bc1
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptySkipAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptySkipAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportEmptySkipAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Result.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportEmptySkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.notation
new file mode 100644
index 00000000000..270cc84fd1b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsAddAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsAddAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsAddAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Result.txt
new file mode 100644
index 00000000000..43fdf0046f5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.notation
new file mode 100644
index 00000000000..9ab9718fc2e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsReplaceAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsReplaceAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsReplaceAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.csv b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.csv
new file mode 100644
index 00000000000..2793571d3ab
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.csv
@@ -0,0 +1,4 @@
+Class1;true;true
+CopyOf_Class1_1;true;true
+CopyOf_Class1_2;true;true
+;;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.notation
new file mode 100644
index 00000000000..d0406583461
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="ImportRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="ImportRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsSkipAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsSkipAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="ImportRowsSkipAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/import/ImportRowsSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.notation
new file mode 100644
index 00000000000..dfe26641e3b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAddAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAddAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAddAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt
new file mode 100644
index 00000000000..a899dc3cd14
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..85485de73c6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_gK40sG5pEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyAxisIdentifierNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_RXRjAHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..aa24bfc7469
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+RootElement::Class1 false false
+RootElement::CopyOf_Class1_1 false false
+RootElement::CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.notation
new file mode 100644
index 00000000000..8c65224078e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptyFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_T04N4Hl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e65f1a918de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true
+Class2 true
+Class3 true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.notation
new file mode 100644
index 00000000000..ed261842b19
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyReplaceAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyReplaceAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyReplaceAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.notation
new file mode 100644
index 00000000000..efa4c65638e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptySkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptySkipAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptySkipAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptySkipAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptySkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..cd4ef3dbe83
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertEmptyWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyWarningNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyWarningNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertEmptyWarningNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_WAmekHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..be20a2dcece
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..c324503fcad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertEmptyWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+Class2 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.notation
new file mode 100644
index 00000000000..3654b7e9140
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAddAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_fabbsH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAddAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_lHByIH4NEeW0Pb88EZXz9A">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAddAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Result.txt
new file mode 100644
index 00000000000..43fdf0046f5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..429d66fe6a6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_gK40sG5pEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsAxisIdentifierNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_RXRjAHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..aa24bfc7469
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+RootElement::Class1 false false
+RootElement::CopyOf_Class1_1 false false
+RootElement::CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.notation
new file mode 100644
index 00000000000..fabfbe20da5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_T04N4Hl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e65f1a918de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true
+Class2 true
+Class3 true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.notation
new file mode 100644
index 00000000000..2be96b0aa0c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailRows_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailRows_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsFailRows_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_U8gkUHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.notation
new file mode 100644
index 00000000000..cda4561e625
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsReplaceAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsReplaceAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsReplaceAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.notation
new file mode 100644
index 00000000000..dba3fb4f945
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsSkipAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsSkipAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsSkipAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MpovMHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsSkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..6a115738cde
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="InsertRowsWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="InsertRowsWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsWarningNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsWarningNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="InsertRowsWarningNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_IYbu8HfnEeW-YNQXJY8DwA" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_IYhOgHfnEeW-YNQXJY8DwA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_WAmekHl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..be20a2dcece
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..c324503fcad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/insert/InsertRowsWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+Class2 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..940393fd0a3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..9a963647910
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation
new file mode 100644
index 00000000000..ffdbb8763ef
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteByOneLine_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteByOneLine_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteByOneLine_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt
new file mode 100644
index 00000000000..47f9edf9d73
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_Result.txt
@@ -0,0 +1,3 @@
+ClassX true true
+ClassX true true
+ClassX true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt
new file mode 100644
index 00000000000..da6fda7b361
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteByOneLine_Test_ToCopy.txt
@@ -0,0 +1,2 @@
+ClassX true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..b1504867a00
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..b613cfb5fc9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteCellsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailRows_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailRows_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteCellsOverwriteFailRows_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteCellsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..9853faf165a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..9a963647910
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation
new file mode 100644
index 00000000000..bf74b0ea4ae
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteByOneLine_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteByOneLine_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteByOneLine_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteByOneLine_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt
new file mode 100644
index 00000000000..f90a3922681
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteByOneLine_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+true
+true
+true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..faa794cbeb2
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..07fcb5fde3f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteColumnsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailRows_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailRows_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteColumnsOverwriteFailRows_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..34618cb63b5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteColumnsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,3 @@
+Class1_1 true true
+Class2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation
new file mode 100644
index 00000000000..b3e48b90768
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAddAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAddAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAddAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAddAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_geXTYHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_geXTYXl3EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_geXTYnl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt
new file mode 100644
index 00000000000..a899dc3cd14
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_Result.txt
@@ -0,0 +1,6 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAddAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..ec165520e5e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_gK40sG5pEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_8Sp5sHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_8Sp5sXl3EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_8Sp5snl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..aa24bfc7469
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+RootElement::Class1 false false
+RootElement::CopyOf_Class1_1 false false
+RootElement::CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..bcd81e375bd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_FCuBIHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_FCuBIXl4EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FCuBInl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e65f1a918de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true
+Class2 true
+Class3 true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation
new file mode 100644
index 00000000000..707cbfeae99
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteReplaceAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteReplaceAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteReplaceAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteReplaceAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_geXTYHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_geXTYXl3EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_geXTYnl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteReplaceAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation
new file mode 100644
index 00000000000..d4e52262b10
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteSkipAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteSkipAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteSkipAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteSkipAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_geXTYHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_geXTYXl3EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_geXTYnl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteSkipAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..bb4e458c97b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the Empty of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider" disconnectSlave="true">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteEmptyOverwriteWarningNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_HZoOIHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_HZoOIXl4EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_HZoOInl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..be20a2dcece
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..c324503fcad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteEmptyOverwriteWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+Class2 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation
new file mode 100644
index 00000000000..1e41bfc2a05
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.notation
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAll_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAll_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAll_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAll_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_geXTYHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_geXTYXl3EeWqi9yWvPfrQQ">
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_geXTYnl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt
new file mode 100644
index 00000000000..5768b318712
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt
new file mode 100644
index 00000000000..c2a4187707d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAll_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+CopyOf_Class1_1 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation
new file mode 100644
index 00000000000..c92ac9b73f9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.notation
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_gK40sG5pEeWpLowMLPbtlg">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_8Sp5sHl3EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_8Sp5sXl3EeWqi9yWvPfrQQ">
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_8Sp5snl3EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..aa24bfc7469
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+RootElement::Class1 false false
+RootElement::CopyOf_Class1_1 false false
+RootElement::CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation
new file mode 100644
index 00000000000..78670e498c3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.notation
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailColumns_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailColumns_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailColumns_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailColumns_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_FCuBIHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_FCuBIXl4EeWqi9yWvPfrQQ">
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_FCuBInl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt
new file mode 100644
index 00000000000..e65f1a918de
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailColumns_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true
+Class2 true
+Class3 true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation
new file mode 100644
index 00000000000..abe177f949f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.notation
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteFailRows_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailRows_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailRows_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteFailRows_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_GT5VIHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_GT5VIXl4EeWqi9yWvPfrQQ">
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_GT5VInl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt
new file mode 100644
index 00000000000..5f13293b17d
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteFailRows_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1_1 true true
+Class2 true true
+Class3 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation
new file mode 100644
index 00000000000..8df306e69d5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.notation
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_4OqVQGhfEeWkeMVi2iCQkA" name="GenericTable0" currentRowAxisProvider="_4OqVQmhfEeWkeMVi2iCQkA" currentColumnAxisProvider="_4OqVQWhfEeWkeMVi2iCQkA">
+ <context xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <owner xmi:type="uml:Model" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_nAjG8GIeEeWkqekCWoLl5g"/>
+ <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb2NxhEeOqHvRyiN87hA"/>
+ <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#/"/>
+ <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4OqVQWhfEeWkeMVi2iCQkA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46Kwc2hfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwaGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableElement/isLeaf"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_46KwkmhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/isAbstract"/>
+ </axis>
+ </columnAxisProvidersHistory>
+ <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4OqVQmhfEeWkeMVi2iCQkA" description="This axis provider contains the object dropped by the user into the table" name="DroppedElementAxisProvider">
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4jeHoGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_pYCiwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_4t8SQGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_p2QIwGIeEeWkqekCWoLl5g"/>
+ </axis>
+ <axis xmi:type="nattableaxis:EObjectAxis" xmi:id="_46KJUGhfEeWkeMVi2iCQkA">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@rowHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="uml:Class" href="PasteRowsOverwriteWarningNotExisting_Test.uml#_p5RnkGIeEeWkqekCWoLl5g"/>
+ </axis>
+ </rowAxisProvidersHistory>
+ <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_HZoOIHl4EeWqi9yWvPfrQQ" indexStyle="NUMERIC">
+ <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_HZoOIXl4EeWqi9yWvPfrQQ" pastedElementId="org.eclipse.papyrus.uml.Class">
+ <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_HZoOInl4EeWqi9yWvPfrQQ">
+ <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/configs/generic.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+ <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+ </axisIdentifier>
+ </ownedAxisConfigurations>
+ </localRowHeaderAxisConfiguration>
+</nattable:Table>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml
new file mode 100644
index 00000000000..39cac3474d9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test.uml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_nAjG8GIeEeWkqekCWoLl5g" name="RootElement">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pYCiwGIeEeWkqekCWoLl5g" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2QIwGIeEeWkqekCWoLl5g" name="CopyOf_Class1_1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p5RnkGIeEeWkqekCWoLl5g" name="CopyOf_Class1_2"/>
+</uml:Model>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt
new file mode 100644
index 00000000000..84721ff937f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Initial.txt
@@ -0,0 +1,3 @@
+Class1 false false
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 false false
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt
new file mode 100644
index 00000000000..be20a2dcece
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_Result.txt
@@ -0,0 +1,3 @@
+Class1 true true
+CopyOf_Class1_1 false false
+CopyOf_Class1_2 true true
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt
new file mode 100644
index 00000000000..c324503fcad
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/resources/paste_overwrite/PasteRowsOverwriteWarningNotExisting_Test_ToCopy.txt
@@ -0,0 +1,4 @@
+Class1 true true
+Class2 true true
+CopyOf_Class1_2 true true
+
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportCellsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportCellsTest.java
new file mode 100644
index 00000000000..4eb902efa00
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportCellsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportCellsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportEmptyTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportEmptyTest.java
new file mode 100644
index 00000000000..376d16843cc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportEmptyTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportRowsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportRowsTest.java
new file mode 100644
index 00000000000..95ead525557
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the import CSV file tests into rows.
+ */
+public abstract class AbstractImportRowsTest extends AbstractImportTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.import.command"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportTest.java
new file mode 100644
index 00000000000..0a49c140f60
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/AbstractImportTest.java
@@ -0,0 +1,147 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the import CSV file tests.
+ */
+public abstract class AbstractImportTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/import/"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate if the final dialog must be opened for the import.
+ */
+ public static final String OPEN_DIALOG_BOOLEAN_PARAMETER = "openDialog"; //$NON-NLS-1$
+
+ /**
+ * The variable name to determinate the selected file path.
+ */
+ public static final String SELECTED_FILE_PATH_STRING_PARAMETER = "selectedFilePath"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractImportTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testImport() throws Exception {
+ // Open the table and get the manager
+ loadGenericTable();
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ flushDisplayEvents();
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); // $NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(ImportTableHandler.OPEN_DIALOG_BOOLEAN_PARAMETER, Boolean.FALSE);
+ manageParameters(parameters, manager);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ cmd.executeWithChecks(event);
+
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ // Create the path for the csv to load (must be with the following form : 'resources/import/TableName.csv')
+ URI uri = manager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.CSV_EXTENSIOn);
+
+ String csvFileAsString = getWantedString(buffer.toString());
+
+ parameters.put(ImportTableHandler.SELECTED_FILE_PATH_STRING_PARAMETER, csvFileAsString);
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportCellsAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportCellsAll_Test.java
new file mode 100644
index 00000000000..fd977217ba5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportCellsAll_Test.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportCellsAll_Test extends AbstractImportCellsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportCellsAll_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.importfile.AbstractImportEmptyTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing : The undo/redo is not implemented for the old basic paste
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyAddAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyAddAll_Test.java
new file mode 100644
index 00000000000..6683d18aaed
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyAddAll_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyAddAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyAddAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyReplaceAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyReplaceAll_Test.java
new file mode 100644
index 00000000000..59f734da99a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptyReplaceAll_Test.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptyReplaceAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptyReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptySkipAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptySkipAll_Test.java
new file mode 100644
index 00000000000..a01a39c13d5
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportEmptySkipAll_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportEmptySkipAll_Test extends AbstractImportEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportEmptySkipAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsAddAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsAddAll_Test.java
new file mode 100644
index 00000000000..fd1d8e1360f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsAddAll_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsAddAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsReplaceAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsReplaceAll_Test.java
new file mode 100644
index 00000000000..0d7186ce926
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsReplaceAll_Test.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsReplaceAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsSkipAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsSkipAll_Test.java
new file mode 100644
index 00000000000..9b12a8bc7ed
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/importfile/ImportRowsSkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.importfile;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.ImportTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test import all of selection with hidden categories.
+ */
+public class ImportRowsSkipAll_Test extends AbstractImportRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public ImportRowsSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(final Map<Object, Object> parameters, final INattableModelManager manager) {
+ super.manageParameters(parameters, manager);
+ parameters.put(ImportTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertEmptyTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertEmptyTest.java
new file mode 100644
index 00000000000..435c4fb13c6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertEmptyTest.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertEmptyTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertRowsTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertRowsTest.java
new file mode 100644
index 00000000000..7f5dd0e4966
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertRowsTest.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertRowsTest extends AbstractInsertTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#getCommandId()
+ *
+ * @return
+ */
+ @Override
+ public String getCommandId() {
+ return "org.eclipse.papyrus.infra.nattable.row.insert"; //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertTest.java
new file mode 100644
index 00000000000..d735eaf344a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/AbstractInsertTest.java
@@ -0,0 +1,137 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.generic.tests.Activator;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the insert tests.
+ */
+public abstract class AbstractInsertTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String INSERT_FOLDER_PATH = "/resources/insert/"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractInsertTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testInsert() throws Exception {
+ // Open the table and get the manager
+ loadGenericTable();
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand(getCommandId()); // $NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters) {
+ // Do nothing
+ }
+
+ /**
+ * This allows to get the command id.
+ *
+ * @return The command id.
+ */
+ public abstract String getCommandId();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return INSERT_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAddAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAddAll_Test.java
new file mode 100644
index 00000000000..84b6af1361b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAddAll_Test.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyAddAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyAddAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..984d8ed2d9b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyAxisIdentifierNotExisting_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyFailColumns_Test.java
new file mode 100644
index 00000000000..df7f7ed5c25
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyFailColumns_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertEmptyFailColumns_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyReplaceAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyReplaceAll_Test.java
new file mode 100644
index 00000000000..7a542e77cfc
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyReplaceAll_Test.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptyReplaceAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptySkipAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptySkipAll_Test.java
new file mode 100644
index 00000000000..59f08402d9f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptySkipAll_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertEmptySkipAll_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptySkipAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyWarningNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyWarningNotExisting_Test.java
new file mode 100644
index 00000000000..373c492d39b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertEmptyWarningNotExisting_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertEmptyWarningNotExisting_Test extends AbstractInsertEmptyTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertEmptyWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAddAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAddAll_Test.java
new file mode 100644
index 00000000000..9ef14cbeb51
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAddAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsAddAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsAddAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..a6b09ca7d54
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsAxisIdentifierNotExisting_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailColumns_Test.java
new file mode 100644
index 00000000000..f2aeffdc31c
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class InsertRowsFailColumns_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailRows_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailRows_Test.java
new file mode 100644
index 00000000000..702f5961050
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test insert when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class InsertRowsFailRows_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsReplaceAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsReplaceAll_Test.java
new file mode 100644
index 00000000000..b4a53701630
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsReplaceAll_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsReplaceAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsSkipAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsSkipAll_Test.java
new file mode 100644
index 00000000000..200d6145ab3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsSkipAll_Test.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test insert all of selection with hidden categories.
+ */
+public class InsertRowsSkipAll_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.insert.AbstractInsertTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsWarningNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsWarningNotExisting_Test.java
new file mode 100644
index 00000000000..e64e2262fcd
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/insert/InsertRowsWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.insert;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class InsertRowsWarningNotExisting_Test extends AbstractInsertRowsTest {
+
+ /**
+ * Constructor.
+ */
+ public InsertRowsWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
new file mode 100644
index 00000000000..8ced2b2ca22
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteCellsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteCellsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
new file mode 100644
index 00000000000..9c40a94bb43
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteColumnsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteColumnsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
new file mode 100644
index 00000000000..ae2ca858a8e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteEmptyOverwriteTest.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.generic.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteEmptyOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Override
+ @Test
+ public void testPaste() throws Exception {
+ // Open the table and get the manager
+ loadGenericTable();
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ manageParameters(parameters);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+ /**
+ * This allows to add parameters if necessary
+ *
+ * @param parameters
+ * The parameters for the command.
+ */
+ public void manageParameters(final Map<Object, Object> parameters) {
+ // Do nothing
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteInsertTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteInsertTest.java
new file mode 100644
index 00000000000..387791ed45f
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteInsertTest.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.TableClipboardUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.junit.utils.GenericUtils;
+import org.eclipse.papyrus.uml.nattable.generic.tests.Activator;
+import org.eclipse.papyrus.uml.nattable.generic.tests.tests.AbstractGenericTableTest;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteInsertTest extends AbstractGenericTableTest {
+
+ /**
+ * The suffix of the file containing the initial content.
+ */
+ public static final String INITIAL_POST_FILE_NAME = "_Initial"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the content to copy.
+ */
+ public static final String TOCOPY_POST_FILE_NAME = "_ToCopy"; //$NON-NLS-1$
+
+ /**
+ * The suffix of the file containing the result content.
+ */
+ public static final String RESULT_POST_FILE_NAME = "_Result"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteInsertTest() {
+ super();
+ }
+
+ /**
+ * Initialize the model.
+ *
+ * @throws Exception
+ * The caught exception.
+ */
+ @Before
+ public void initModel() throws Exception {
+ initModel("GenericTable", getClass().getSimpleName(), getBundle()); //$NON-NLS-1$
+ };
+
+ /**
+ * This allows to set the selection in table for the paste. The initial selection is the first cell of the table.
+ *
+ * @param manager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ public abstract void manageSelection(final NattableModelManager manager) throws Exception;
+
+ /**
+ * This allows to test the undo redo commands.
+ *
+ * @param treeManager
+ * The tree nattable model manager.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void testUndo_Redo(final NattableModelManager treeManager) throws Exception {
+ // Check the undo
+ getTransactionalEditingDomain().getCommandStack().undo();
+ // Check the table context after undo
+ checkTableContent(treeManager, INITIAL_POST_FILE_NAME);
+
+ // Check the redo
+ getTransactionalEditingDomain().getCommandStack().redo();
+ // Check the table context after redo
+ checkTableContent(treeManager, RESULT_POST_FILE_NAME);
+ }
+
+ /**
+ * This allows to check the returned status.
+ *
+ * @param status
+ * The status.
+ */
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertTrue("The status must be OK", status.isOK()); //$NON-NLS-1$
+ }
+
+ /**
+ * This allows to check the table content comparing the table content with file content.
+ *
+ * @param manager
+ * The nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to check.
+ * @throws Exception
+ * The caught exception.
+ */
+ protected void checkTableContent(final NattableModelManager manager, final String suffixFileName) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ flushDisplayEvents();
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.selectAll();
+ manager.copyToClipboard();
+ String clipboard = getClipboardContent();
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertNotNull("Clipboard must not be null", clipboard); //$NON-NLS-1$
+ String str = getWantedString(getSuffixStateFileName(manager, suffixFileName));
+ // we check than the contents of the clipboard (so the displayed table) is the same than the wanted result
+ Assert.assertEquals("The clipboard must be equals to string which one it is filled", str, clipboard); //$NON-NLS-1$
+ }
+
+ /**
+ * Get the string content from a file.
+ *
+ * @param fileName
+ * a file name
+ * @return
+ * the text stored in the file associated to this test
+ */
+ protected String getWantedString(final String fileName) {
+ return FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName, FileUtils.getSystemPropertyLineSeparator());// $NON-NLS-1$
+ }
+
+ /**
+ * Get the file name corresponding to the model with the suffix in parameter.
+ *
+ * @param manager
+ * The nattable model manager.
+ * @param suffixFileName
+ * The suffix of the file to get.
+ * @return The file name corresponding
+ */
+ protected String getSuffixStateFileName(final NattableModelManager manager, final String suffixFileName) {
+ URI uri = manager.getTable().eResource().getURI();
+ uri = uri.trimFileExtension();
+ final StringBuffer buffer = new StringBuffer(uri.lastSegment());
+ buffer.append(suffixFileName);
+ buffer.append(FileUtils.DOT_STRING);
+ buffer.append(FileUtils.TEXT_EXTENSION);
+ return buffer.toString();
+ }
+
+ /**
+ * Get the clipboard contents.
+ *
+ * @return
+ * the clipboard contents.
+ */
+ protected String getClipboardContent() {
+ String clipboard = TableClipboardUtils.getClipboardContentsAsString();
+ return clipboard;
+ }
+
+ /**
+ * This allows to fill the clipboard with the string in parameter.
+ *
+ * @param newClipBoardContents
+ * The string needed to fill the clipboard.
+ */
+ protected void fillClipboard(final String newClipBoardContents) {
+
+ // its seems that the clipboard must be filled with the same way than we read it!
+ java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+
+ StringSelection s = new StringSelection(newClipBoardContents);
+ clipboard.setContents(s, s);
+ }
+
+ /**
+ * This allow to close the opened editors.
+ */
+ @AfterClass
+ public static void endOfTest() {
+ GenericUtils.closeAllEditors();
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteOverwriteTest.java
new file mode 100644
index 00000000000..46b6da4b72e
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteOverwriteTest.java
@@ -0,0 +1,119 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.handler.PasteInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.tools.util.EclipseCommandUtils;
+import org.eclipse.papyrus.infra.tools.util.FileUtils;
+import org.eclipse.papyrus.uml.nattable.generic.tests.Activator;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.commands.ICommandService;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteOverwriteTest extends AbstractPasteInsertTest {
+
+ /**
+ * The path of the model to test.
+ */
+ public static final String PASTE_FOLDER_PATH = "/resources/paste_overwrite/"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public AbstractPasteOverwriteTest() {
+ super();
+ }
+
+ /**
+ * This allows to test the paste.
+ *
+ * @throws Exception
+ * The caught exception
+ */
+ @Test
+ public void testPaste() throws Exception {
+ // Open the table and get the manager
+ loadGenericTable();
+ final IEditorPart editorPart = editor.getActiveEditor();
+ Assert.assertTrue("Table editor must be a nattable editor", editorPart instanceof NatTableEditor); //$NON-NLS-1$
+ final INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ Assert.assertTrue("The manager must be a nattable model manager", currentManager instanceof NattableModelManager); //$NON-NLS-1$
+ final NattableModelManager manager = (NattableModelManager) currentManager;
+
+ // Check the table context before command
+ checkTableContent(manager, INITIAL_POST_FILE_NAME);
+
+ // Manage the selection
+ manageSelection(manager);
+ flushDisplayEvents();
+
+ // fill the clipboard
+ final ICommandService commandService = EclipseCommandUtils.getCommandService();
+ Assert.assertNotNull("The command service must not be null", commandService); //$NON-NLS-1$
+ final String fileName = getSuffixStateFileName(manager, TOCOPY_POST_FILE_NAME);
+ final String str = FileUtils.getStringFromPlatformFile(Activator.PLUGIN_ID, getSourcePath(), fileName);
+ fillClipboard(str);
+
+ // Get the paste command
+ final Command cmd = commandService.getCommand("org.eclipse.ui.edit.paste"); //$NON-NLS-1$
+ final IHandler handler = cmd.getHandler();
+ Assert.assertTrue("The handler must be enabled", handler.isEnabled()); //$NON-NLS-1$
+
+ // Execute the command with the non-UI parameters
+ final Map<Object, Object> parameters = new HashMap<Object, Object>();
+ parameters.put(PasteInTableHandler.OPEN_DIALOG_ON_FAIL_BOOLEAN_PARAMETER, Boolean.FALSE);
+ parameters.put(PasteInTableHandler.OPEN__PROGRESS_MONITOR_DIALOG, Boolean.FALSE);
+ final ExecutionEvent event = new ExecutionEvent(cmd, parameters, null, null);
+ flushDisplayEvents();
+ final Object res = cmd.executeWithChecks(event);
+ Assert.assertTrue("The result must be a status", res instanceof IStatus); //$NON-NLS-1$
+ final IStatus status = (IStatus) res;
+
+ // Check the returned status
+ checkReturned_Status(status);
+
+ if (status.isOK()) {
+ // Check the table content after command
+ checkTableContent(manager, RESULT_POST_FILE_NAME);
+
+ // Undo/Redo
+ testUndo_Redo(manager);
+ }
+ }
+
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests.AbstractOpenTableTest#getSourcePath()
+ */
+ @Override
+ protected String getSourcePath() {
+ return PASTE_FOLDER_PATH;
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
new file mode 100644
index 00000000000..04f1a28a521
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/AbstractPasteRowsOverwriteTest.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * This class allows to manage the paste with overwrite tests.
+ */
+public abstract class AbstractPasteRowsOverwriteTest extends AbstractPasteOverwriteTest {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 0, false, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java
new file mode 100644
index 00000000000..7ec78734141
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteAll_Test.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteCellsOverwriteAll_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteAll_Test() {
+ super();
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java
new file mode 100644
index 00000000000..ac5a7d9da9b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteByOneLine_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteCellsOverwriteByOneLine_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteByOneLine_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 2, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..55d5a1824c9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteCellsOverwriteFailColumns_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..ced57006df6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteCellsOverwriteFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteCellsOverwriteFailRows_Test extends AbstractPasteCellsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteCellsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectCellCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java
new file mode 100644
index 00000000000..96824210328
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteAll_Test.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteColumnsOverwriteAll_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteAll_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteColumnsOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java
new file mode 100644
index 00000000000..93fa8bddea2
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteByOneLine_Test.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.command.ClearAllSelectionsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories when a single line is copied.
+ */
+public class PasteColumnsOverwriteByOneLine_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteByOneLine_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ final NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ natTable.doCommand(new ClearAllSelectionsCommand());
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 0, false, false));
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..5f14d170fd3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteColumnsOverwriteFailColumns_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 1, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..e9964de7f34
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteColumnsOverwriteFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteColumnsOverwriteFailRows_Test extends AbstractPasteColumnsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteColumnsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectColumnCommand(manager.getBodyLayerStack().getSelectionLayer(), 2, 0, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java
new file mode 100644
index 00000000000..4c405bef66b
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAddAll_Test.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAddAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteAddAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.ADD_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..0042601d800
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteAxisIdentifierNotExisting_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..1de1769f944
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteFailColumns_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteEmptyOverwriteFailColumns_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java
new file mode 100644
index 00000000000..0288afa3bf6
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteReplaceAll_Test.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteReplaceAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteReplaceAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.REPLACE_USER_ACTION);
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java
new file mode 100644
index 00000000000..4e91f55cd84
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteSkipAll_Test.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.handler.InsertInTableHandler;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.utils.UserActionConstants;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteSkipAll_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteSkipAll_Test() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteEmptyOverwriteTest#manageParameters(java.util.Map)
+ *
+ * @param parameters
+ */
+ @Override
+ public void manageParameters(Map<Object, Object> parameters) {
+ super.manageParameters(parameters);
+ parameters.put(InsertInTableHandler.USER_ACTION__PREFERRED_USER_ACTION, UserActionConstants.SKIP_USER_ACTION);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.AbstractPasteInsertTest#testUndo_Redo(org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager)
+ *
+ * @param treeManager
+ * @throws Exception
+ */
+ @Override
+ protected void testUndo_Redo(NattableModelManager treeManager) throws Exception {
+ // Do nothing
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java
new file mode 100644
index 00000000000..1f51f14daf3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteEmptyOverwriteWarningNotExisting_Test.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteEmptyOverwriteWarningNotExisting_Test extends AbstractPasteEmptyOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteEmptyOverwriteWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection, so the object was created", ((MultiStatus) status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java
new file mode 100644
index 00000000000..272b3bb1782
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAll_Test.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAll_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteAll_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java
new file mode 100644
index 00000000000..09f85315f9a
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteAxisIdentifierNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteAxisIdentifierNotExisting_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteAxisIdentifierNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasNotBeenDoneBecauseOfSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_TheAxisUsedAsIdentifierNotAvailable, ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java
new file mode 100644
index 00000000000..0f3f9a374c9
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailColumns_Test.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of columns to paste is not equals to the number of columns selected.
+ */
+public class PasteRowsOverwriteFailColumns_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteFailColumns_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readcolumnsexceedsexistingcolumns, status.getMessage()); //$NON-NLS-1$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java
new file mode 100644
index 00000000000..c0717aed6b3
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteFailRows_Test.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite when the number of rows to paste is not equals to the number of rows selected.
+ */
+public class PasteRowsOverwriteFailRows_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteFailRows_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 1, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Error must be caught", IStatus.ERROR, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Error message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows, status.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java
new file mode 100644
index 00000000000..b6eb8df1285
--- /dev/null
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/paste/overwrite/PasteRowsOverwriteWarningNotExisting_Test.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST 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:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.junit.Assert;
+
+/**
+ * Test pastes overwrite all of selection with hidden categories.
+ */
+public class PasteRowsOverwriteWarningNotExisting_Test extends AbstractPasteRowsOverwriteTest {
+
+ /**
+ * Constructor.
+ */
+ public PasteRowsOverwriteWarningNotExisting_Test() {
+ super();
+ }
+
+ /**
+ * Manage the selection with the shift key.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#manageSelection(org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager)
+ */
+ @Override
+ public void manageSelection(final NattableModelManager manager) throws Exception {
+ super.manageSelection(manager);
+ manager.getBodyLayerStack().getSelectionLayer().doCommand(new SelectRowsCommand(manager.getBodyLayerStack().getSelectionLayer(), 0, 2, true, false));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.uml.nattable.clazz.config.tests.paste.overwrite.AbstractPasteOverwriteTest#checkReturned_Status(org.eclipse.core.runtime.IStatus)
+ */
+ @Override
+ protected void checkReturned_Status(final IStatus status) {
+ Assert.assertEquals("Warning must be caught", IStatus.WARNING, status.getSeverity()); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", Messages.AbstractPasteInSelectionNattableCommandProvider_ThePasteHasBeenDoneWithSomeProblems, status.getMessage()); //$NON-NLS-1$
+ Assert.assertTrue("Status must be a multi-status", status instanceof MultiStatus); //$NON-NLS-1$
+ Assert.assertEquals("Warning message is not the expected message", "The identifier 'Class2' was not found in the selection", ((MultiStatus)status).getChildren()[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java
index a089ed6a8b2..c9a62c797f4 100755
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java
@@ -20,6 +20,44 @@ import org.eclipse.papyrus.uml.nattable.generic.tests.bugs.AxisChangeIndexWithou
import org.eclipse.papyrus.uml.nattable.generic.tests.bugs.InvertedAxisChangeIndexWithConfigurationTest;
import org.eclipse.papyrus.uml.nattable.generic.tests.bugs.InvertedAxisChangeIndexWithoutConfigurationTest;
import org.eclipse.papyrus.uml.nattable.generic.tests.bugs.OpenAndDeleteTest;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportCellsAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportEmptyAddAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportEmptyReplaceAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportEmptySkipAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportRowsAddAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportRowsReplaceAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.importfile.ImportRowsSkipAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptyAddAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptyAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptyFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptyReplaceAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptySkipAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertEmptyWarningNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsAddAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsFailRows_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsReplaceAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsSkipAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.insert.InsertRowsWarningNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteCellsOverwriteAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteCellsOverwriteByOneLine_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteCellsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteCellsOverwriteFailRows_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteColumnsOverwriteAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteColumnsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteColumnsOverwriteFailRows_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteAddAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteReplaceAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteSkipAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteEmptyOverwriteWarningNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteRowsOverwriteAll_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteRowsOverwriteAxisIdentifierNotExisting_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteRowsOverwriteFailColumns_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteRowsOverwriteFailRows_Test;
+import org.eclipse.papyrus.uml.nattable.generic.tests.paste.overwrite.PasteRowsOverwriteWarningNotExisting_Test;
import org.junit.runner.RunWith;
import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
import org.junit.runners.Suite.SuiteClasses;
@@ -40,7 +78,56 @@ import org.junit.runners.Suite.SuiteClasses;
FilterStringMatcherTest.class,
FilterEEnumMatcherTest.class,
FilterNumericMatcherTest.class,
- FilterUMLEnumerationMatcherTest.class
+ FilterUMLEnumerationMatcherTest.class,
+
+ // Paste Overwrite tests
+ PasteCellsOverwriteAll_Test.class,
+ PasteCellsOverwriteByOneLine_Test.class,
+ PasteCellsOverwriteFailColumns_Test.class,
+ PasteCellsOverwriteFailRows_Test.class,
+
+ PasteColumnsOverwriteAll_Test.class,
+ PasteCellsOverwriteByOneLine_Test.class,
+ PasteColumnsOverwriteFailColumns_Test.class,
+ PasteColumnsOverwriteFailRows_Test.class,
+
+ PasteRowsOverwriteAll_Test.class,
+ PasteRowsOverwriteFailColumns_Test.class,
+ PasteRowsOverwriteFailRows_Test.class,
+ PasteRowsOverwriteWarningNotExisting_Test.class,
+ PasteRowsOverwriteAxisIdentifierNotExisting_Test.class,
+
+ PasteEmptyOverwriteReplaceAll_Test.class,
+ PasteEmptyOverwriteAddAll_Test.class,
+ PasteEmptyOverwriteSkipAll_Test.class,
+ PasteEmptyOverwriteFailColumns_Test.class,
+ PasteEmptyOverwriteWarningNotExisting_Test.class,
+ PasteEmptyOverwriteAxisIdentifierNotExisting_Test.class,
+
+ // Insert tests
+ InsertRowsReplaceAll_Test.class,
+ InsertRowsAddAll_Test.class,
+ InsertRowsSkipAll_Test.class,
+ InsertRowsFailColumns_Test.class,
+ InsertRowsFailRows_Test.class,
+ InsertRowsAxisIdentifierNotExisting_Test.class,
+ InsertRowsWarningNotExisting_Test.class,
+
+ InsertEmptyReplaceAll_Test.class,
+ InsertEmptyAddAll_Test.class,
+ InsertEmptySkipAll_Test.class,
+ InsertEmptyFailColumns_Test.class,
+ InsertEmptyAxisIdentifierNotExisting_Test.class,
+ InsertEmptyWarningNotExisting_Test.class,
+
+ // Import tests
+ ImportCellsAll_Test.class,
+ ImportRowsReplaceAll_Test.class,
+ ImportRowsAddAll_Test.class,
+ ImportRowsSkipAll_Test.class,
+ ImportEmptyReplaceAll_Test.class,
+ ImportEmptyAddAll_Test.class,
+ ImportEmptySkipAll_Test.class
})
public class AllTests {
// JUnit 4 test suite

Back to the top