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 /tests/junit/plugins/uml
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>
Diffstat (limited to 'tests/junit/plugins/uml')
-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
687 files changed, 22216 insertions, 110 deletions
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