diff options
author | Martin Taal | 2017-02-22 21:56:42 +0000 |
---|---|---|
committer | Martin Taal | 2017-02-22 21:56:42 +0000 |
commit | e7a666d5f5a60e1074e31756c6d5aacedc54c838 (patch) | |
tree | 763602ae0cb8dc8cabeb63ce7c005adcf42d0272 | |
parent | 7792468ed738da6f741392d6236f973fa464e084 (diff) | |
download | org.eclipse.emf.teneo-2.1.0.tar.gz org.eclipse.emf.teneo-2.1.0.tar.xz org.eclipse.emf.teneo-2.1.0.zip |
Tests related to issue 512511 - refresh on session wrapper leads to disconnected persistent lists2.1.0
48 files changed, 10048 insertions, 13 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java index 44703ede0..7f6b90277 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java @@ -645,7 +645,7 @@ public abstract class AbstractAssociationMapper extends AbstractMapper { collectionElement.addAttribute("fetch", hbFeature.getHbFetch().getValue().getName() .toLowerCase()); } - + if (hasOrderBy) { final PAnnotatedEClass aClass = paReference.getAReferenceType(); final String name; diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java index f39665d8d..edf6f9aa5 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java @@ -24,6 +24,7 @@ import java.util.Map; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.persistence.FlushModeType; +import javax.persistence.LockModeType; import javax.persistence.Query; import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType; @@ -221,14 +222,15 @@ public class HbEntityManagerWrapper implements SessionWrapper { /** Refresh the object */ public void refresh(Object obj) { - getEntityManager().refresh(obj); + // pass this special lock type to prevent hibernate from using a + // cascade entity loader, gives + getEntityManager().refresh(obj, LockModeType.PESSIMISTIC_READ); } /** Check if a certain class is mapped using a certain inheritance strategy */ public boolean isInheritanceStrategy(Class<?> cls, InheritanceType strategy) { final String name = cls.getName(); final String realName = name.substring(name.lastIndexOf('.') + 1, name.length() - 4); - @SuppressWarnings("deprecation") final PersistentClass cmd = hbEntityDataStore.getConfiguration().getClassMapping(realName); if (strategy.equals(InheritanceType.SINGLE_TABLE)) { return cmd instanceof SingleTableSubclass; diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java index c6febf247..9c5c2f403 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java @@ -183,7 +183,7 @@ public class HbSessionWrapper implements SessionWrapper { /** Refresh the object */ public void refresh(Object obj) { - getSessionInternal().refresh(obj, LockOptions.NONE); + getSessionInternal().refresh(obj, LockOptions.UPGRADE); } /** Check if a certain class is mapped using a certain inheritance strategy */ diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..a57293d65 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..b10c1ecae --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..a57293d65 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..b10c1ecae --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..d4a48825f --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,501 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key update="true"> + <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElementBidir"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" table="`ITEMELEMENTBIDIR`"> + <meta attribute="eclassName" inherit="false">ItemElementBidir</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" table="`ITEMELEMENTBIDIRAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <property name="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`ITEM`"/> + </property> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..a307d3c69 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,540 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key update="true"> + <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElementBidir"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" discriminator-value="ItemElementBidir" table="`ITEMELEMENTBIDIR`"> + <meta attribute="eclassName" inherit="false">ItemElementBidir</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTBIDIRDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" discriminator-value="ItemElementBidirAuditing" table="`ITEMELEMENTBIDIRAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTBIDIRAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <property name="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`ITEM`"/> + </property> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..a57293d65 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..b10c1ecae --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..1ac55120c --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER2_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER2_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMNONCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMNONCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..2aea083c5 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,459 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="element" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER2_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER2_ELEMENT_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENT_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMNONCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMNONCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="element" table="`ITEMCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENT_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENT_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..a57293d65 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..b10c1ecae --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"> + <param name="epackage">http://www.example.eclipse.org/Library</param> + <param name="edatatype">BookCategoryObject</param> + </typedef> + <class name="org.eclipse.example.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`"> + <meta attribute="eclassName" inherit="false">Book</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.example.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`"> + <meta attribute="eclassName" inherit="false">Library</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="writers" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_WRITERS_KEY" update="true"> + <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_WRITERS_IDX`"/> + <one-to-many entity-name="Writer"/> + </list> + <list name="books" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="LIBRARY_BOOKS_KEY" update="true"> + <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/> + </key> + <list-index column="`LIBRARY_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.example.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`"> + <meta attribute="eclassName" inherit="false">Writer</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/Library</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key update="true"> + <column name="`BOOK_AUTHOR_E_ID`" unique="false"/> + </key> + <list-index column="`WRITER_BOOKS_IDX`"/> + <one-to-many entity-name="Book"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`"> + <meta attribute="eclassName" inherit="false">BookAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TITLE`"/> + </property> + <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`PAGES`"/> + </property> + <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false"> + <column not-null="false" unique="false" name="`CATEGORY`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.example.library.BookCategory</param> + <param name="eclassifier">BookCategory</param> + <param name="epackage">http://www.example.eclipse.org/Library</param> + </type> + </property> + <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`AUTHOR`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`"> + <meta attribute="eclassName" inherit="false">LibraryAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true"> + <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/> + <element type="java.lang.String"/> + </list> + <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true"> + <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`"> + <meta attribute="eclassName" inherit="false">WriterAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true"> + <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`WRITERAUDITING_BOOKS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml new file mode 100644 index 000000000..d4a48825f --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml @@ -0,0 +1,501 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key update="true"> + <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElementBidir"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" table="`ITEMELEMENTBIDIR`"> + <meta attribute="eclassName" inherit="false">ItemElementBidir</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" table="`ITEMELEMENTBIDIRAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <property name="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`ITEM`"/> + </property> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml new file mode 100644 index 000000000..a307d3c69 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml @@ -0,0 +1,540 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping auto-import="false"> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`"> + <meta attribute="eclassName" inherit="false">ItemElement</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock"> + <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElement"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`"> + <meta attribute="eclassName" inherit="false">ItemContainer2</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2DTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <list name="elements" lazy="true" cascade="all,delete-orphan"> + <key update="true"> + <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/> + <one-to-many entity-name="ItemElementBidir"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" discriminator-value="ItemElementBidir" table="`ITEMELEMENTBIDIR`"> + <meta attribute="eclassName" inherit="false">ItemElementBidir</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</meta> + <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"> + <meta attribute="syntheticId" inherit="false">true</meta> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTBIDIRDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"> + <meta attribute="syntheticVersion" inherit="false">true</meta> + </version> + <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String"> + <column not-null="true" unique="false" name="`NAME`"/> + </property> + <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false"> + <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/> + </many-to-one> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`"> + <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta> + <id name="id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/> + </discriminator> + <version name="version" type="long"> + <column not-null="true" unique="false" name="`VERSION`"/> + </version> + <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`USER`"/> + </property> + <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`COMMENT`" length="2000"/> + </property> + <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`COMMITTIME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`"> + <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <list name="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all"> + <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true"> + <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/> + </key> + <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/> + <element type="java.lang.String"/> + </list> + </class> + <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" discriminator-value="ItemElementBidirAuditing" table="`ITEMELEMENTBIDIRAUDITING`"> + <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta> + <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta> + <id name="teneo_audit_id" type="long" unsaved-value="0"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/> + <generator class="native"/> + </id> + <discriminator type="string"> + <column name="`DTYPE`" index="ITEMELEMENTBIDIRAUDITINGDTYPE" length="255" not-null="true"/> + </discriminator> + <version name="teneo_version" type="long"> + <column not-null="true" unique="false" name="`TENEO_VERSION`"/> + </version> + <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/> + </property> + <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/> + </property> + <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/> + </property> + <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/> + </property> + <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true"> + <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/> + </many-to-one> + <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false"> + <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/> + <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"> + <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param> + <param name="eclassifier">TeneoAuditKind</param> + <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param> + </type> + </property> + <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/> + </property> + <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/> + </property> + <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/> + </property> + <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/> + </property> + <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long"> + <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/> + </property> + <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/> + </property> + <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`NAME`"/> + </property> + <property name="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String"> + <column not-null="false" unique="false" name="`ITEM`"/> + </property> + </class> +</hibernate-mapping>
\ No newline at end of file diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java index 66237eb59..f57b6b9e5 100755 --- a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java @@ -8,9 +8,6 @@ package org.eclipse.emf.teneo.hibernate.test.issues; -import junit.framework.Test; -import junit.framework.TestSuite; - import org.eclipse.emf.teneo.hibernate.test.HibernateTestbed; import org.eclipse.emf.teneo.test.conf.MultiCfgTestSuite; import org.eclipse.emf.teneo.test.issues.AbstractReferenceAction; @@ -43,6 +40,9 @@ import org.eclipse.emf.teneo.test.issues.SimplenmAction; import org.eclipse.emf.teneo.test.issues.SupInterfacesAction; import org.eclipse.emf.teneo.test.issues.TopClassesAction; +import junit.framework.Test; +import junit.framework.TestSuite; + /** * All tests * @@ -54,7 +54,10 @@ public class AllTests { public static Test suite() { TestSuite suite = new MultiCfgTestSuite("Test for org.eclipse.emf.teneo.hibernate.test.issues", HibernateTestbed.instance().getConfigurations()); - + suite.addTestSuite(RefreshObjectNoResourceTestAction.class); + suite.addTestSuite(RefreshObjectLibraryNoResourceTestAction.class); + suite.addTestSuite(RefreshObjectLibraryWithResourceTestAction.class); + suite.addTestSuite(RefreshObjectNoResourceTestAction.class); suite.addTestSuite(Bz245167Action.class); suite.addTestSuite(Bz417855Action.class); suite.addTestSuite(Bz401710Action.class); diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java new file mode 100644 index 000000000..3dc7fcabb --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java @@ -0,0 +1,115 @@ +/** + * <copyright> + * + * Copyright (c) 2017 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.test.issues; + +import org.eclipse.emf.teneo.test.AbstractTestAction; +import org.eclipse.emf.teneo.test.stores.TestStore; +import org.eclipse.example.library.Book; +import org.eclipse.example.library.BookCategory; +import org.eclipse.example.library.Library; +import org.eclipse.example.library.LibraryFactory; +import org.eclipse.example.library.LibraryPackage; +import org.eclipse.example.library.Writer; + +/** + * Tests the refreshing of an object outside of a resource. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.20 $ + */ +public class RefreshObjectLibraryNoResourceTestAction extends AbstractTestAction { + public RefreshObjectLibraryNoResourceTestAction() { + super(LibraryPackage.eINSTANCE); + } + + /** Creates an item, an address and links them to a po. */ + @Override + public void doAction(TestStore store) { + final LibraryFactory factory = LibraryFactory.eINSTANCE; + + // create a book, writer and library + try { + { + store.beginTransaction(); + final Writer writer = factory.createWriter(); + writer.setName("JRR_Tolkien"); + + final Book book = factory.createBook(); + book.setAuthor(writer); + book.setPages(510); + book.setTitle("Fellowship_of_the_Ring"); + book.setCategory(BookCategory.SCIENCE_FICTION); + final Book book2 = factory.createBook(); + book2.setAuthor(writer); + book2.setPages(500); + book2.setTitle("The_Hobbit"); + book2.setCategory(BookCategory.SCIENCE_FICTION); + + // sorry george making a mistake here, will correct this below + final Book book3 = factory.createBook(); + book3.setAuthor(writer); + book3.setPages(500); + book3.setTitle("nineteeneightyfour"); + book3.setCategory(BookCategory.SCIENCE_FICTION); + final Library library = factory.createLibrary(); + library.setName("Science_Fiction"); + library.getBooks().add(book); + library.getBooks().add(book2); + library.getBooks().add(book3); + library.getWriters().add(writer); + store.store(library); + store.commitTransaction(); + } + + // walk through the structure starting from the library + { + store.beginTransaction(); + Library lib = (Library) store.getObject(Library.class); + store.refresh(lib); + + Writer tolkien = lib.getWriters().get(0); + assertTrue(tolkien.getName().equals("JRR_Tolkien")); + Book orwellsBook = tolkien.getBooks().get(2); + assertTrue(orwellsBook.getTitle().compareTo("nineteeneightyfour") == 0); + + // add orwell as a writer + final Writer george = factory.createWriter(); + george.setName("George_Orwell"); + orwellsBook.setAuthor(george); + + // and put george in our library + lib.getWriters().add(george); + + assertEquals(2, tolkien.getBooks().size()); + assertEquals(3, lib.getBooks().size()); + + // and save it all + store.store(lib); + store.flush(); + store.refresh(lib); + + george.setName("G._Orwell"); // there was a bug in which this + assertTrue(lib.getBooks().size() > 0); + assertTrue(lib.getWriters().size() > 0); + store.commitTransaction(); + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java new file mode 100755 index 000000000..39d51cefc --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java @@ -0,0 +1,140 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.test.issues; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.teneo.hibernate.resource.HibernateResource; +import org.eclipse.emf.teneo.test.AbstractTestAction; +import org.eclipse.emf.teneo.test.stores.TestStore; +import org.eclipse.example.library.Book; +import org.eclipse.example.library.BookCategory; +import org.eclipse.example.library.Library; +import org.eclipse.example.library.LibraryFactory; +import org.eclipse.example.library.LibraryPackage; +import org.eclipse.example.library.Writer; + +/** + * Tests the refreshing of an object also related to a resource. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.20 $ + */ +public class RefreshObjectLibraryWithResourceTestAction extends AbstractTestAction { + public RefreshObjectLibraryWithResourceTestAction() { + super(LibraryPackage.eINSTANCE); + } + + /** Creates an item, an address and links them to a po. */ + @Override + public void doAction(TestStore store) { + final LibraryFactory factory = LibraryFactory.eINSTANCE; + + // create a book, writer and library + try { + { + Resource res = getResource(store); + res.load(null); + + final Writer writer = factory.createWriter(); + writer.setName("JRR_Tolkien"); + + final Book book = factory.createBook(); + book.setAuthor(writer); + book.setPages(510); + book.setTitle("Fellowship_of_the_Ring"); + book.setCategory(BookCategory.SCIENCE_FICTION); + final Book book2 = factory.createBook(); + book2.setAuthor(writer); + book2.setPages(500); + book2.setTitle("The_Hobbit"); + book2.setCategory(BookCategory.SCIENCE_FICTION); + + // sorry george making a mistake here, will correct this below + final Book book3 = factory.createBook(); + book3.setAuthor(writer); + book3.setPages(500); + book3.setTitle("nineteeneightyfour"); + book3.setCategory(BookCategory.SCIENCE_FICTION); + final Library library = factory.createLibrary(); + library.setName("Science_Fiction"); + library.getBooks().add(book); + library.getBooks().add(book2); + library.getBooks().add(book3); + library.getWriters().add(writer); + + res.getContents().add(library); + res.save(null); + res.save(null); + res.unload(); + assertTrue(res.getContents().size() == 0); + assertTrue(library.getBooks().size() > 0); + assertTrue(library.getWriters().size() > 0); + } + + // walk through the structure starting from the library + { + Resource res = getResource(store); + // res.setTrackingModification(true); + res.load(null); + + Library lib = (Library) res.getContents().get(0); + + HibernateResource hbRes = (HibernateResource) res; + hbRes.getSessionWrapper().beginTransaction(); + hbRes.getSessionWrapper().refresh(lib); + hbRes.getSessionWrapper().commitTransaction(); + + Writer tolkien = lib.getWriters().get(0); + assertTrue(tolkien.getName().equals("JRR_Tolkien")); + Book orwellsBook = tolkien.getBooks().get(2); + assertTrue(orwellsBook.getTitle().compareTo("nineteeneightyfour") == 0); + + // add orwell as a writer + final Writer george = factory.createWriter(); + george.setName("George_Orwell"); + orwellsBook.setAuthor(george); + + // and put george in our library + lib.getWriters().add(george); + + assertEquals(2, tolkien.getBooks().size()); + assertEquals(3, lib.getBooks().size()); + + // and save it all + res.save(null); + res.save(null); + + george.setName("G._Orwell"); // there was a bug in which this + // failed, reported by + // Georgi Manev + res.save(null); + res.save(null); + res.unload(); + assertTrue(res.getContents().size() == 0); + assertTrue(lib.getBooks().size() > 0); + assertTrue(lib.getWriters().size() > 0); + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + protected Resource getResource(TestStore store) { + return store.getResource(); + } +} diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java new file mode 100644 index 000000000..0f902c35d --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java @@ -0,0 +1,192 @@ +/** + * <copyright> + * + * Copyright (c) 2017 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.test.issues; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; +import org.eclipse.emf.teneo.test.AbstractTestAction; +import org.eclipse.emf.teneo.test.stores.TestStore; + +/** + * Tests the refreshing of an object outside of a resource. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.20 $ + */ +public class RefreshObjectNoResourceTestAction extends AbstractTestAction { + public RefreshObjectNoResourceTestAction() { + super(RefreshextraPackage.eINSTANCE); + } + + /** Creates an item, an address and links them to a po. */ + @Override + public void doAction(TestStore store) { + testNonContained(store); + testContained(store); + testContainedBidir(store); + } + + private void testContained(TestStore store) { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + store.beginTransaction(); + final ItemContainer ic = factory.createItemContainer(); + ic.setName("ic1"); + final ItemElement element = factory.createItemElement(); + element.setName("ie1"); + ic.getElements().add(element); + store.store(element); + store.store(ic); + store.commitTransaction(); + } + + // with pre-accessing the list + { + store.beginTransaction(); + final ItemContainer ic = store.getObject(ItemContainer.class); + assertTrue(ic.getElements().size() == 1); + Object collection = ic.getElements(); + ItemElement ie = ic.getElements().get(0); + assertTrue(ie.eContainer() == ic); + + store.refresh(ic); + + // after refresh the collection is the same and the element + // is also the same object and the parent should be the same to + assertTrue(ie == ic.getElements().get(0)); + assertTrue(collection == ic.getElements()); + assertTrue(ie.eContainer() == ic); + store.commitTransaction(); + } + + // with pre-accessing the list + { + store.beginTransaction(); + final ItemContainer ic = store.getObject(ItemContainer.class); + + store.refresh(ic); + + // after refresh the collection is the same and the element + // is also the same object and the parent should be the same to + ItemElement ie = ic.getElements().get(0); + assertTrue(ie == ic.getElements().get(0)); + assertTrue(ie.eContainer() == ic); + + // clean up + store.deleteObject(ic); + store.flush(); + + // was contained relation so child should gave gone to + store.checkNumber(ItemElement.class, 0); + store.checkNumber(ItemContainer.class, 0); + store.commitTransaction(); + } + } + + private void testContainedBidir(TestStore store) { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + store.beginTransaction(); + final ItemContainer2 ic2 = factory.createItemContainer2(); + ic2.setName("ic1"); + final ItemElementBidir element = factory.createItemElementBidir(); + element.setName("ie1"); + ic2.getElements().add(element); + store.store(ic2); + store.commitTransaction(); + } + { + store.beginTransaction(); + final ItemContainer2 ic = store.getObject(ItemContainer2.class); + assertTrue(ic.getElements().size() == 1); + Object collection = ic.getElements(); + ItemElementBidir ie = ic.getElements().get(0); + assertTrue(ie.eContainer() == ic); + assertTrue(ie.getItem() == ic); + + store.refresh(ic); + + // after refresh the collection is the same and the element + // is also the same object and the parent is the same object + assertTrue(ie == ic.getElements().get(0)); + assertTrue(collection == ic.getElements()); + assertTrue(ie.eContainer() == ic); + assertTrue(ie.getItem() == ic); + + // clean up + store.deleteObject(ic); + store.flush(); + + // was contained relation so child should gave gone to + store.checkNumber(ItemContainer2.class, 0); + store.checkNumber(ItemElementBidir.class, 0); + store.commitTransaction(); + } + } + + private void testNonContained(TestStore store) { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + store.beginTransaction(); + final ItemNonContainer inc = factory.createItemNonContainer(); + inc.setName("inc1"); + final ItemElement element = factory.createItemElement(); + element.setName("ie1"); + inc.getElements().add(element); + store.store(element); + store.store(inc); + store.commitTransaction(); + } + { + store.beginTransaction(); + final ItemNonContainer inc = store.getObject(ItemNonContainer.class); + assertTrue(inc.getElements().size() == 1); + Object collection = inc.getElements(); + ItemElement ie = inc.getElements().get(0); + store.refresh(inc); + assertTrue(ie == inc.getElements().get(0)); + assertTrue(collection == inc.getElements()); + store.commitTransaction(); + } + { + store.beginTransaction(); + final ItemNonContainer inc = store.getObject(ItemNonContainer.class); + store.refresh(inc); + assertTrue(inc.getElements().size() == 1); + final ItemElement ie = inc.getElements().get(0); + + // clean up + inc.getElements().clear(); + store.deleteObject(ie); + store.deleteObject(inc); + store.flush(); + + store.checkNumber(ItemElement.class, 0); + store.checkNumber(ItemNonContainer.class, 0); + + store.commitTransaction(); + } + } +} diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java new file mode 100644 index 000000000..80f5a998f --- /dev/null +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java @@ -0,0 +1,207 @@ +/** + * <copyright> + * + * Copyright (c) 2017 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.test.issues; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.teneo.hibernate.resource.HibernateResource; +import org.eclipse.emf.teneo.resource.StoreResource; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; +import org.eclipse.emf.teneo.test.AbstractTestAction; +import org.eclipse.emf.teneo.test.stores.TestStore; + +/** + * Tests the refreshing of an object using a resource. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.20 $ + */ +public class RefreshObjectWithResourceTestAction extends AbstractTestAction { + public RefreshObjectWithResourceTestAction() { + super(RefreshextraPackage.eINSTANCE); + } + + /** Creates an item, an address and links them to a po. */ + @Override + public void doAction(TestStore store) { + try { + testNonContained(store); + testContained(store); + testContainedBidir(store); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private void testContained(TestStore store) throws Exception { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + Resource res = store.getResource(); + res.load(null); + final ItemContainer ic = factory.createItemContainer(); + ic.setName("ic1"); + final ItemElement element = factory.createItemElement(); + element.setName("ie1"); + ic.getElements().add(element); + res.getContents().add(ic); + res.save(null); + } + { + Resource res = store.getResource(); + res.load(null); + final ItemContainer ic = (ItemContainer) res.getContents().get(0); + assertTrue(ic.getElements().size() == 1); + Object collection = ic.getElements(); + ItemElement ie = ic.getElements().get(0); + assertTrue(ie.eContainer() == ic); + + ((HibernateResource) res).getSessionWrapper().refresh(ic); + + // after refresh the collection is the same and the element + // is also the same object and the parent should be the same to + assertTrue(ie == ic.getElements().get(0)); + assertTrue(collection == ic.getElements()); + assertTrue(ie.eContainer() == ic); + + // clean up + res.getContents().remove(0); + res.save(null); + + // was contained relation so child should gave gone to + store.beginTransaction(); + store.checkNumber(ItemElement.class, 0); + store.checkNumber(ItemContainer.class, 0); + store.commitTransaction(); + } + } + + private void testContainedBidir(TestStore store) throws Exception { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + Resource res = store.getResource(); + res.load(null); + final ItemContainer2 ic2 = factory.createItemContainer2(); + ic2.setName("ic1"); + final ItemElementBidir element = factory.createItemElementBidir(); + element.setName("ie1"); + ic2.getElements().add(element); + res.getContents().add(ic2); + res.save(null); + + // check the counts + store.beginTransaction(); + store.checkNumber(ItemContainer2.class, 1); + store.checkNumber(ItemElementBidir.class, 1); + store.commitTransaction(); + } + { + Resource res = store.getResource(); + res.load(null); + final ItemContainer2 ic = (ItemContainer2) res.getContents().get(0); + assertTrue(ic.getElements().size() == 1); + Object collection = ic.getElements(); + ItemElementBidir ie = ic.getElements().get(0); + assertTrue(ie.eContainer() == ic); + assertTrue(ie.getItem() == ic); + + ((HibernateResource) res).getSessionWrapper().refresh(ic); + + // after refresh the collection is the same and the element + // is also the same object and the parent is the same object + assertTrue(ie == ic.getElements().get(0)); + assertTrue(collection == ic.getElements()); + assertTrue(ie.eContainer() == ic); + assertTrue(ie.getItem() == ic); + + // clean up + res.getContents().clear(); + res.save(null); + + // was contained relation so child should gave gone to + store.beginTransaction(); + store.checkNumber(ItemContainer2.class, 0); + store.checkNumber(ItemElementBidir.class, 0); + store.commitTransaction(); + } + } + + private void testNonContained(TestStore store) throws Exception { + final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE; + + { + Resource res = store.getResource(); + res.load(null); + final ItemNonContainer inc = factory.createItemNonContainer(); + inc.setName("inc1"); + final ItemElement element = factory.createItemElement(); + element.setName("ie1"); + inc.getElements().add(element); + res.getContents().add(inc); + res.getContents().add(element); + res.save(null); + + store.beginTransaction(); + store.checkNumber(ItemElement.class, 1); + store.checkNumber(ItemNonContainer.class, 1); + store.commitTransaction(); + } + { + Resource res = store.getResource(); + res.load(null); + final ItemNonContainer inc = (ItemNonContainer) res.getContents().get(0); + assertTrue(inc.getElements().size() == 1); + Object collection = inc.getElements(); + ItemElement ie = inc.getElements().get(0); + + ((HibernateResource) res).getSessionWrapper().refresh(inc); + + assertTrue(ie == inc.getElements().get(0)); + assertTrue(collection == inc.getElements()); + res.unload(); + } + { + Resource res = store.getResource(); + Map<String, String> options = new HashMap<String, String>(); + options.put(StoreResource.LOAD_STRATEGY_PARAM, StoreResource.ADD_TO_CONTENTS); + res.load(options); + final ItemNonContainer inc = (ItemNonContainer) res.getContents().get(0); + ((HibernateResource) res).getSessionWrapper().refresh(inc); + assertTrue(inc.getElements().size() == 1); + + // clean up + final Collection<?> collection = res.getContents(); + collection.clear(); + res.save(null); + + store.beginTransaction(); + store.checkNumber(ItemElement.class, 0); + store.checkNumber(ItemNonContainer.class, 0); + store.commitTransaction(); + } + } +} diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java index 5b64f0c9f..456be91d1 100755 --- a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java +++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java @@ -18,8 +18,6 @@ import java.util.Properties; import javax.persistence.EntityManager; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.eclipse.emf.common.util.URI; @@ -55,6 +53,8 @@ import org.hibernate.FlushMode; import org.hibernate.Session; import org.hibernate.cfg.Environment; +import junit.framework.TestCase; + /** * The hibernate test store encapsulates the datastore actions to a hibernate store. * diff --git a/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF index ad0cf0a9e..ae986c792 100755 --- a/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-SymbolicName: org.eclipse.emf.teneo.samples;singleton:=true Bundle-Version: 1.1.2.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.7.0";visibility:=reexport, - org.eclipse.emf.ecore.xmi, + org.eclipse.emf.ecore.xmi;visibility:=reexport, org.eclipse.core.runtime, org.eclipse.core.resources;visibility:=reexport, org.eclipse.emf.edit.ui;visibility:=reexport, @@ -2220,8 +2220,10 @@ Export-Package: com.example.car; testinheritance.validation; uses:="testinheritance, org.eclipse.emf.common.util", - compositefkid.util, org.eclipse.emf.teneo.samples.emf.annotations.compositefkid, - org.eclipse.emf.teneo.samples.emf.annotations.compositefkid.impl + org.eclipse.emf.teneo.samples.emf.annotations.compositefkid.impl, + org.eclipse.emf.teneo.samples.issues.refreshextra, + org.eclipse.emf.teneo.samples.issues.refreshextra.impl, + org.eclipse.emf.teneo.samples.issues.refreshextra.util Bundle-ClassPath: . Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/tests/org.eclipse.emf.teneo.samples/plugin.xml b/tests/org.eclipse.emf.teneo.samples/plugin.xml index e6e578b3e..40899deef 100755 --- a/tests/org.eclipse.emf.teneo.samples/plugin.xml +++ b/tests/org.eclipse.emf.teneo.samples/plugin.xml @@ -65,4 +65,18 @@ type="rental" class="org.eclipse.emf.teneo.rental.util.RentalResourceFactoryImpl"/> </extension> + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated refreshextra --> + <package + uri="http://www.eclipse.org/emf/teneo/samples/issues/refreshextra" + class="org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage" + genModel="src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel"/> + </extension> + + <extension point="org.eclipse.emf.ecore.extension_parser"> + <!-- @generated refreshextra --> + <parser + type="refreshextra" + class="org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceFactoryImpl"/> + </extension> </plugin> diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java new file mode 100644 index 000000000..d4cb7463e --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java @@ -0,0 +1,71 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements <em>Elements</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer() + * @model extendedMetaData="name='Item' kind='elementOnly'" + * @generated + */ +public interface ItemContainer extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Elements</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Elements</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Elements</em>' containment reference list. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer_Elements() + * @model containment="true" required="true" + * extendedMetaData="kind='element' name='lineOne'" + * @generated + */ + EList<ItemElement> getElements(); + +} // ItemContainer diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java new file mode 100644 index 000000000..dc6ef6bae --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java @@ -0,0 +1,73 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Container2</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2() + * @model extendedMetaData="name='Item' kind='elementOnly'" + * @generated + */ +public interface ItemContainer2 extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Elements</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir}. + * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Elements</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Elements</em>' containment reference list. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2_Elements() + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem + * @model opposite="item" containment="true" required="true" + * extendedMetaData="kind='element' name='lineOne'" + * @generated + */ + EList<ItemElementBidir> getElements(); + +} // ItemContainer2 diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java new file mode 100644 index 000000000..291021959 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java @@ -0,0 +1,51 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Element</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElement() + * @model extendedMetaData="name='LineOne' kind='elementOnly'" + * @generated + */ +public interface ItemElement extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElement_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // ItemElement diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java new file mode 100644 index 000000000..5490d45d5 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java @@ -0,0 +1,80 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Element Bidir</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir() + * @model extendedMetaData="name='LineOne' kind='elementOnly'" + * @generated + */ +public interface ItemElementBidir extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Item</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Item</em>' container reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Item</em>' container reference. + * @see #setItem(ItemContainer2) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir_Item() + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements + * @model opposite="elements" transient="false" + * @generated + */ + ItemContainer2 getItem(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Item</em>' container reference. + * @see #getItem() + * @generated + */ + void setItem(ItemContainer2 value); + +} // ItemElementBidir diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java new file mode 100644 index 000000000..c8cff00ea --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java @@ -0,0 +1,71 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Non Container</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements <em>Elements</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer() + * @model extendedMetaData="name='Item' kind='elementOnly'" + * @generated + */ +public interface ItemNonContainer extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Elements</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Elements</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Elements</em>' reference list. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer_Elements() + * @model resolveProxies="false" required="true" + * extendedMetaData="kind='element' name='lineOne'" + * @generated + */ + EList<ItemElement> getElements(); + +} // ItemNonContainer diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java new file mode 100644 index 000000000..8b7bed86d --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java @@ -0,0 +1,71 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Item Non Container2</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements <em>Elements</em>}</li> + * </ul> + * + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2() + * @model extendedMetaData="name='Item' kind='elementOnly'" + * @generated + */ +public interface ItemNonContainer2 extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Elements</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Elements</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Elements</em>' reference list. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2_Elements() + * @model resolveProxies="false" required="true" + * extendedMetaData="kind='element' name='lineOne'" + * @generated + */ + EList<ItemElement> getElements(); + +} // ItemNonContainer2 diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java new file mode 100644 index 000000000..a4bc3c0fc --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java @@ -0,0 +1,87 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage + * @generated + */ +public interface RefreshextraFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + RefreshextraFactory eINSTANCE = org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Item Container</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Container</em>'. + * @generated + */ + ItemContainer createItemContainer(); + + /** + * Returns a new object of class '<em>Item Element</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Element</em>'. + * @generated + */ + ItemElement createItemElement(); + + /** + * Returns a new object of class '<em>Item Non Container</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Non Container</em>'. + * @generated + */ + ItemNonContainer createItemNonContainer(); + + /** + * Returns a new object of class '<em>Item Non Container2</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Non Container2</em>'. + * @generated + */ + ItemNonContainer2 createItemNonContainer2(); + + /** + * Returns a new object of class '<em>Item Container2</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Container2</em>'. + * @generated + */ + ItemContainer2 createItemContainer2(); + + /** + * Returns a new object of class '<em>Item Element Bidir</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Item Element Bidir</em>'. + * @generated + */ + ItemElementBidir createItemElementBidir(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + RefreshextraPackage getRefreshextraPackage(); + +} //RefreshextraFactory diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java new file mode 100644 index 000000000..d1aa2ed9a --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java @@ -0,0 +1,682 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory + * @model kind="package" + * @generated + */ +public interface RefreshextraPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "refreshextra"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/teneo/samples/issues/refreshextra"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "refreshextra"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + RefreshextraPackage eINSTANCE = org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl <em>Item Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer() + * @generated + */ + int ITEM_CONTAINER = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER__NAME = 0; + + /** + * The feature id for the '<em><b>Elements</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER__ELEMENTS = 1; + + /** + * The number of structural features of the '<em>Item Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Item Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl <em>Item Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElement() + * @generated + */ + int ITEM_ELEMENT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT__NAME = 0; + + /** + * The number of structural features of the '<em>Item Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Item Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl <em>Item Non Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer() + * @generated + */ + int ITEM_NON_CONTAINER = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER__NAME = 0; + + /** + * The feature id for the '<em><b>Elements</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER__ELEMENTS = 1; + + /** + * The number of structural features of the '<em>Item Non Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Item Non Container</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl <em>Item Non Container2</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer2() + * @generated + */ + int ITEM_NON_CONTAINER2 = 3; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER2__NAME = 0; + + /** + * The feature id for the '<em><b>Elements</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER2__ELEMENTS = 1; + + /** + * The number of structural features of the '<em>Item Non Container2</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER2_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Item Non Container2</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_NON_CONTAINER2_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl <em>Item Container2</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer2() + * @generated + */ + int ITEM_CONTAINER2 = 4; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER2__NAME = 0; + + /** + * The feature id for the '<em><b>Elements</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER2__ELEMENTS = 1; + + /** + * The number of structural features of the '<em>Item Container2</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER2_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Item Container2</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_CONTAINER2_OPERATION_COUNT = 0; + + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl <em>Item Element Bidir</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElementBidir() + * @generated + */ + int ITEM_ELEMENT_BIDIR = 5; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_BIDIR__NAME = 0; + + /** + * The feature id for the '<em><b>Item</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_BIDIR__ITEM = 1; + + /** + * The number of structural features of the '<em>Item Element Bidir</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_BIDIR_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Item Element Bidir</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ITEM_ELEMENT_BIDIR_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer <em>Item Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Container</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer + * @generated + */ + EClass getItemContainer(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName() + * @see #getItemContainer() + * @generated + */ + EAttribute getItemContainer_Name(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Elements</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements() + * @see #getItemContainer() + * @generated + */ + EReference getItemContainer_Elements(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement <em>Item Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Element</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement + * @generated + */ + EClass getItemElement(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName() + * @see #getItemElement() + * @generated + */ + EAttribute getItemElement_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer <em>Item Non Container</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Non Container</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer + * @generated + */ + EClass getItemNonContainer(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName() + * @see #getItemNonContainer() + * @generated + */ + EAttribute getItemNonContainer_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Elements</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements() + * @see #getItemNonContainer() + * @generated + */ + EReference getItemNonContainer_Elements(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 <em>Item Non Container2</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Non Container2</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 + * @generated + */ + EClass getItemNonContainer2(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName() + * @see #getItemNonContainer2() + * @generated + */ + EAttribute getItemNonContainer2_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Elements</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements() + * @see #getItemNonContainer2() + * @generated + */ + EReference getItemNonContainer2_Elements(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 <em>Item Container2</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Container2</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 + * @generated + */ + EClass getItemContainer2(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName() + * @see #getItemContainer2() + * @generated + */ + EAttribute getItemContainer2_Name(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Elements</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements() + * @see #getItemContainer2() + * @generated + */ + EReference getItemContainer2_Elements(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir <em>Item Element Bidir</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Item Element Bidir</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir + * @generated + */ + EClass getItemElementBidir(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName() + * @see #getItemElementBidir() + * @generated + */ + EAttribute getItemElementBidir_Name(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Item</em>'. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem() + * @see #getItemElementBidir() + * @generated + */ + EReference getItemElementBidir_Item(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + RefreshextraFactory getRefreshextraFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl <em>Item Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer() + * @generated + */ + EClass ITEM_CONTAINER = eINSTANCE.getItemContainer(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_CONTAINER__NAME = eINSTANCE.getItemContainer_Name(); + + /** + * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ITEM_CONTAINER__ELEMENTS = eINSTANCE.getItemContainer_Elements(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl <em>Item Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElement() + * @generated + */ + EClass ITEM_ELEMENT = eINSTANCE.getItemElement(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_ELEMENT__NAME = eINSTANCE.getItemElement_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl <em>Item Non Container</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer() + * @generated + */ + EClass ITEM_NON_CONTAINER = eINSTANCE.getItemNonContainer(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_NON_CONTAINER__NAME = eINSTANCE.getItemNonContainer_Name(); + + /** + * The meta object literal for the '<em><b>Elements</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ITEM_NON_CONTAINER__ELEMENTS = eINSTANCE.getItemNonContainer_Elements(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl <em>Item Non Container2</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer2() + * @generated + */ + EClass ITEM_NON_CONTAINER2 = eINSTANCE.getItemNonContainer2(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_NON_CONTAINER2__NAME = eINSTANCE.getItemNonContainer2_Name(); + + /** + * The meta object literal for the '<em><b>Elements</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ITEM_NON_CONTAINER2__ELEMENTS = eINSTANCE.getItemNonContainer2_Elements(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl <em>Item Container2</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer2() + * @generated + */ + EClass ITEM_CONTAINER2 = eINSTANCE.getItemContainer2(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_CONTAINER2__NAME = eINSTANCE.getItemContainer2_Name(); + + /** + * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ITEM_CONTAINER2__ELEMENTS = eINSTANCE.getItemContainer2_Elements(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl <em>Item Element Bidir</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElementBidir() + * @generated + */ + EClass ITEM_ELEMENT_BIDIR = eINSTANCE.getItemElementBidir(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ITEM_ELEMENT_BIDIR__NAME = eINSTANCE.getItemElementBidir_Name(); + + /** + * The meta object literal for the '<em><b>Item</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ITEM_ELEMENT_BIDIR__ITEM = eINSTANCE.getItemElementBidir_Item(); + + } + +} //RefreshextraPackage diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java new file mode 100644 index 000000000..4a6dead2f --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java @@ -0,0 +1,236 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Container2</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl#getElements <em>Elements</em>}</li> + * </ul> + * + * @generated + */ +public class ItemContainer2Impl extends MinimalEObjectImpl.Container implements ItemContainer2 { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElements() + * @generated + * @ordered + */ + protected EList<ItemElementBidir> elements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemContainer2Impl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_CONTAINER2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_CONTAINER2__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<ItemElementBidir> getElements() { + if (elements == null) { + elements = new EObjectContainmentWithInverseEList<ItemElementBidir>(ItemElementBidir.class, this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM); + } + return elements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__NAME: + return getName(); + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__NAME: + setName((String)newValue); + return; + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection<? extends ItemElementBidir>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__NAME: + setName(NAME_EDEFAULT); + return; + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER2__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemContainer2Impl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java new file mode 100644 index 000000000..2719ef6d7 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java @@ -0,0 +1,222 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Container</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl#getElements <em>Elements</em>}</li> + * </ul> + * + * @generated + */ +public class ItemContainerImpl extends MinimalEObjectImpl.Container implements ItemContainer { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElements() + * @generated + * @ordered + */ + protected EList<ItemElement> elements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemContainerImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_CONTAINER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_CONTAINER__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<ItemElement> getElements() { + if (elements == null) { + elements = new EObjectContainmentEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_CONTAINER__ELEMENTS); + } + return elements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS: + return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER__NAME: + return getName(); + case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER__NAME: + setName((String)newValue); + return; + case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection<? extends ItemElement>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER__NAME: + setName(NAME_EDEFAULT); + return; + case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_CONTAINER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemContainerImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java new file mode 100644 index 000000000..868f30218 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java @@ -0,0 +1,264 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Element Bidir</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl#getItem <em>Item</em>}</li> + * </ul> + * + * @generated + */ +public class ItemElementBidirImpl extends MinimalEObjectImpl.Container implements ItemElementBidir { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemElementBidirImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_ELEMENT_BIDIR; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemContainer2 getItem() { + if (eContainerFeatureID() != RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM) return null; + return (ItemContainer2)eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetItem(ItemContainer2 newItem, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newItem, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setItem(ItemContainer2 newItem) { + if (newItem != eInternalContainer() || (eContainerFeatureID() != RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM && newItem != null)) { + if (EcoreUtil.isAncestor(this, newItem)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newItem != null) + msgs = ((InternalEObject)newItem).eInverseAdd(this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, ItemContainer2.class, msgs); + msgs = basicSetItem(newItem, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM, newItem, newItem)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetItem((ItemContainer2)otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + return basicSetItem(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + return eInternalContainer().eInverseRemove(this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, ItemContainer2.class, msgs); + } + return super.eBasicRemoveFromContainerFeature(msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME: + return getName(); + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + return getItem(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME: + setName((String)newValue); + return; + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + setItem((ItemContainer2)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME: + setName(NAME_EDEFAULT); + return; + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + setItem((ItemContainer2)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM: + return getItem() != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemElementBidirImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java new file mode 100644 index 000000000..d164b62a9 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java @@ -0,0 +1,163 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Element</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl#getName <em>Name</em>}</li> + * </ul> + * + * @generated + */ +public class ItemElementImpl extends MinimalEObjectImpl.Container implements ItemElement { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemElementImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_ELEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_ELEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemElementImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java new file mode 100644 index 000000000..b43fe474d --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java @@ -0,0 +1,205 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectEList; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Non Container2</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl#getElements <em>Elements</em>}</li> + * </ul> + * + * @generated + */ +public class ItemNonContainer2Impl extends MinimalEObjectImpl.Container implements ItemNonContainer2 { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElements() + * @generated + * @ordered + */ + protected EList<ItemElement> elements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemNonContainer2Impl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_NON_CONTAINER2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_NON_CONTAINER2__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<ItemElement> getElements() { + if (elements == null) { + elements = new EObjectEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS); + } + return elements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME: + return getName(); + case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME: + setName((String)newValue); + return; + case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection<? extends ItemElement>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME: + setName(NAME_EDEFAULT); + return; + case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemNonContainer2Impl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java new file mode 100644 index 000000000..9b9758b73 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java @@ -0,0 +1,205 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectEList; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Item Non Container</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl#getElements <em>Elements</em>}</li> + * </ul> + * + * @generated + */ +public class ItemNonContainerImpl extends MinimalEObjectImpl.Container implements ItemNonContainer { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElements() + * @generated + * @ordered + */ + protected EList<ItemElement> elements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ItemNonContainerImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return RefreshextraPackage.Literals.ITEM_NON_CONTAINER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_NON_CONTAINER__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<ItemElement> getElements() { + if (elements == null) { + elements = new EObjectEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS); + } + return elements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER__NAME: + return getName(); + case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER__NAME: + setName((String)newValue); + return; + case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection<? extends ItemElement>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER__NAME: + setName(NAME_EDEFAULT); + return; + case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RefreshextraPackage.ITEM_NON_CONTAINER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ItemNonContainerImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java new file mode 100644 index 000000000..428043654 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java @@ -0,0 +1,150 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class RefreshextraFactoryImpl extends EFactoryImpl implements RefreshextraFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static RefreshextraFactory init() { + try { + RefreshextraFactory theRefreshextraFactory = (RefreshextraFactory)EPackage.Registry.INSTANCE.getEFactory(RefreshextraPackage.eNS_URI); + if (theRefreshextraFactory != null) { + return theRefreshextraFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new RefreshextraFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case RefreshextraPackage.ITEM_CONTAINER: return createItemContainer(); + case RefreshextraPackage.ITEM_ELEMENT: return createItemElement(); + case RefreshextraPackage.ITEM_NON_CONTAINER: return createItemNonContainer(); + case RefreshextraPackage.ITEM_NON_CONTAINER2: return createItemNonContainer2(); + case RefreshextraPackage.ITEM_CONTAINER2: return createItemContainer2(); + case RefreshextraPackage.ITEM_ELEMENT_BIDIR: return createItemElementBidir(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemContainer createItemContainer() { + ItemContainerImpl itemContainer = new ItemContainerImpl(); + return itemContainer; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemElement createItemElement() { + ItemElementImpl itemElement = new ItemElementImpl(); + return itemElement; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemNonContainer createItemNonContainer() { + ItemNonContainerImpl itemNonContainer = new ItemNonContainerImpl(); + return itemNonContainer; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemNonContainer2 createItemNonContainer2() { + ItemNonContainer2Impl itemNonContainer2 = new ItemNonContainer2Impl(); + return itemNonContainer2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemContainer2 createItemContainer2() { + ItemContainer2Impl itemContainer2 = new ItemContainer2Impl(); + return itemContainer2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ItemElementBidir createItemElementBidir() { + ItemElementBidirImpl itemElementBidir = new ItemElementBidirImpl(); + return itemElementBidir; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraPackage getRefreshextraPackage() { + return (RefreshextraPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static RefreshextraPackage getPackage() { + return RefreshextraPackage.eINSTANCE; + } + +} //RefreshextraFactoryImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java new file mode 100644 index 000000000..f210284ce --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java @@ -0,0 +1,527 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer; +import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory; +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class RefreshextraPackageImpl extends EPackageImpl implements RefreshextraPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemElementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemNonContainerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemNonContainer2EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemContainer2EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass itemElementBidirEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#eNS_URI + * @see #init() + * @generated + */ + private RefreshextraPackageImpl() { + super(eNS_URI, RefreshextraFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link RefreshextraPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static RefreshextraPackage init() { + if (isInited) return (RefreshextraPackage)EPackage.Registry.INSTANCE.getEPackage(RefreshextraPackage.eNS_URI); + + // Obtain or create and register package + RefreshextraPackageImpl theRefreshextraPackage = (RefreshextraPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RefreshextraPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RefreshextraPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + XMLTypePackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theRefreshextraPackage.createPackageContents(); + + // Initialize created meta-data + theRefreshextraPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theRefreshextraPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(RefreshextraPackage.eNS_URI, theRefreshextraPackage); + return theRefreshextraPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemContainer() { + return itemContainerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemContainer_Name() { + return (EAttribute)itemContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getItemContainer_Elements() { + return (EReference)itemContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemElement() { + return itemElementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemElement_Name() { + return (EAttribute)itemElementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemNonContainer() { + return itemNonContainerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemNonContainer_Name() { + return (EAttribute)itemNonContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getItemNonContainer_Elements() { + return (EReference)itemNonContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemNonContainer2() { + return itemNonContainer2EClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemNonContainer2_Name() { + return (EAttribute)itemNonContainer2EClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getItemNonContainer2_Elements() { + return (EReference)itemNonContainer2EClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemContainer2() { + return itemContainer2EClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemContainer2_Name() { + return (EAttribute)itemContainer2EClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getItemContainer2_Elements() { + return (EReference)itemContainer2EClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getItemElementBidir() { + return itemElementBidirEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getItemElementBidir_Name() { + return (EAttribute)itemElementBidirEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getItemElementBidir_Item() { + return (EReference)itemElementBidirEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraFactory getRefreshextraFactory() { + return (RefreshextraFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + itemContainerEClass = createEClass(ITEM_CONTAINER); + createEAttribute(itemContainerEClass, ITEM_CONTAINER__NAME); + createEReference(itemContainerEClass, ITEM_CONTAINER__ELEMENTS); + + itemElementEClass = createEClass(ITEM_ELEMENT); + createEAttribute(itemElementEClass, ITEM_ELEMENT__NAME); + + itemNonContainerEClass = createEClass(ITEM_NON_CONTAINER); + createEAttribute(itemNonContainerEClass, ITEM_NON_CONTAINER__NAME); + createEReference(itemNonContainerEClass, ITEM_NON_CONTAINER__ELEMENTS); + + itemNonContainer2EClass = createEClass(ITEM_NON_CONTAINER2); + createEAttribute(itemNonContainer2EClass, ITEM_NON_CONTAINER2__NAME); + createEReference(itemNonContainer2EClass, ITEM_NON_CONTAINER2__ELEMENTS); + + itemContainer2EClass = createEClass(ITEM_CONTAINER2); + createEAttribute(itemContainer2EClass, ITEM_CONTAINER2__NAME); + createEReference(itemContainer2EClass, ITEM_CONTAINER2__ELEMENTS); + + itemElementBidirEClass = createEClass(ITEM_ELEMENT_BIDIR); + createEAttribute(itemElementBidirEClass, ITEM_ELEMENT_BIDIR__NAME); + createEReference(itemElementBidirEClass, ITEM_ELEMENT_BIDIR__ITEM); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + + // Initialize classes, features, and operations; add parameters + initEClass(itemContainerEClass, ItemContainer.class, "ItemContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemContainer_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getItemContainer_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(itemElementEClass, ItemElement.class, "ItemElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemElement_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(itemNonContainerEClass, ItemNonContainer.class, "ItemNonContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemNonContainer_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemNonContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getItemNonContainer_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemNonContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(itemNonContainer2EClass, ItemNonContainer2.class, "ItemNonContainer2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemNonContainer2_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemNonContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getItemNonContainer2_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemNonContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(itemContainer2EClass, ItemContainer2.class, "ItemContainer2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemContainer2_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getItemContainer2_Elements(), this.getItemElementBidir(), this.getItemElementBidir_Item(), "elements", null, 1, -1, ItemContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(itemElementBidirEClass, ItemElementBidir.class, "ItemElementBidir", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getItemElementBidir_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemElementBidir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getItemElementBidir_Item(), this.getItemContainer2(), this.getItemContainer2_Elements(), "item", null, 0, 1, ItemElementBidir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + + // Create annotations + // http:///org/eclipse/emf/ecore/util/ExtendedMetaData + createExtendedMetaDataAnnotations(); + } + + /** + * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createExtendedMetaDataAnnotations() { + String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; + addAnnotation + (itemContainerEClass, + source, + new String[] { + "name", "Item", + "kind", "elementOnly" + }); + addAnnotation + (getItemContainer_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getItemContainer_Elements(), + source, + new String[] { + "kind", "element", + "name", "lineOne" + }); + addAnnotation + (itemElementEClass, + source, + new String[] { + "name", "LineOne", + "kind", "elementOnly" + }); + addAnnotation + (getItemElement_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (itemNonContainerEClass, + source, + new String[] { + "name", "Item", + "kind", "elementOnly" + }); + addAnnotation + (getItemNonContainer_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getItemNonContainer_Elements(), + source, + new String[] { + "kind", "element", + "name", "lineOne" + }); + addAnnotation + (itemNonContainer2EClass, + source, + new String[] { + "name", "Item", + "kind", "elementOnly" + }); + addAnnotation + (getItemNonContainer2_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getItemNonContainer2_Elements(), + source, + new String[] { + "kind", "element", + "name", "lineOne" + }); + addAnnotation + (itemContainer2EClass, + source, + new String[] { + "name", "Item", + "kind", "elementOnly" + }); + addAnnotation + (getItemContainer2_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getItemContainer2_Elements(), + source, + new String[] { + "kind", "element", + "name", "lineOne" + }); + addAnnotation + (itemElementBidirEClass, + source, + new String[] { + "name", "LineOne", + "kind", "elementOnly" + }); + addAnnotation + (getItemElementBidir_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + } + +} //RefreshextraPackageImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore new file mode 100755 index 000000000..da365f998 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="refreshextra" nsURI="http://www.eclipse.org/emf/teneo/samples/issues/refreshextra" + nsPrefix="refreshextra"> + <eClassifiers xsi:type="ecore:EClass" name="ItemContainer"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="Item"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1" + upperBound="-1" eType="#//ItemElement" containment="true" resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="lineOne"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ItemElement"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="LineOne"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ItemNonContainer"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="Item"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1" + upperBound="-1" eType="#//ItemElement" resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="lineOne"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ItemNonContainer2"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="Item"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1" + upperBound="-1" eType="#//ItemElement" resolveProxies="false"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="lineOne"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ItemContainer2"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="Item"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1" + upperBound="-1" eType="#//ItemElementBidir" containment="true" resolveProxies="false" + eOpposite="#//ItemElementBidir/item"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="lineOne"/> + </eAnnotations> + </eStructuralFeatures> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ItemElementBidir"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="name" value="LineOne"/> + <details key="kind" value="elementOnly"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> + <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> + <details key="kind" value="element"/> + <details key="name" value="name"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="item" eType="#//ItemContainer2" + eOpposite="#//ItemContainer2/elements"/> + </eClassifiers> +</ecore:EPackage> diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel new file mode 100644 index 000000000..104bdafba --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" + xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.teneo.samples/src" modelPluginID="org.eclipse.emf.teneo.samples" + modelName="Refreshextra" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" + importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false" + operationReflection="true" importOrganizing="true"> + <foreignModel>refreshextra.ecore</foreignModel> + <genPackages prefix="Refreshextra" basePackage="org.eclipse.emf.teneo.samples.issues" + resource="XML" disposableProviderFactory="true" ecorePackage="refreshextra.ecore#/"> + <genClasses ecoreClass="refreshextra.ecore#//ItemContainer"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemContainer/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemContainer/elements"/> + </genClasses> + <genClasses ecoreClass="refreshextra.ecore#//ItemElement"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemElement/name"/> + </genClasses> + <genClasses ecoreClass="refreshextra.ecore#//ItemNonContainer"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemNonContainer/name"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemNonContainer/elements"/> + </genClasses> + <genClasses ecoreClass="refreshextra.ecore#//ItemNonContainer2"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemNonContainer2/name"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemNonContainer2/elements"/> + </genClasses> + <genClasses ecoreClass="refreshextra.ecore#//ItemContainer2"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemContainer2/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemContainer2/elements"/> + </genClasses> + <genClasses ecoreClass="refreshextra.ecore#//ItemElementBidir"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemElementBidir/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemElementBidir/item"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java new file mode 100644 index 000000000..50bbad18c --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java @@ -0,0 +1,210 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage + * @generated + */ +public class RefreshextraAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static RefreshextraPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraAdapterFactory() { + if (modelPackage == null) { + modelPackage = RefreshextraPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RefreshextraSwitch<Adapter> modelSwitch = + new RefreshextraSwitch<Adapter>() { + @Override + public Adapter caseItemContainer(ItemContainer object) { + return createItemContainerAdapter(); + } + @Override + public Adapter caseItemElement(ItemElement object) { + return createItemElementAdapter(); + } + @Override + public Adapter caseItemNonContainer(ItemNonContainer object) { + return createItemNonContainerAdapter(); + } + @Override + public Adapter caseItemNonContainer2(ItemNonContainer2 object) { + return createItemNonContainer2Adapter(); + } + @Override + public Adapter caseItemContainer2(ItemContainer2 object) { + return createItemContainer2Adapter(); + } + @Override + public Adapter caseItemElementBidir(ItemElementBidir object) { + return createItemElementBidirAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer <em>Item Container</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer + * @generated + */ + public Adapter createItemContainerAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement <em>Item Element</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement + * @generated + */ + public Adapter createItemElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer <em>Item Non Container</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer + * @generated + */ + public Adapter createItemNonContainerAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 <em>Item Non Container2</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 + * @generated + */ + public Adapter createItemNonContainer2Adapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 <em>Item Container2</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 + * @generated + */ + public Adapter createItemContainer2Adapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir <em>Item Element Bidir</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir + * @generated + */ + public Adapter createItemElementBidirAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //RefreshextraAdapterFactory diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java new file mode 100644 index 000000000..fd4a1e454 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java @@ -0,0 +1,52 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.util; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.resource.Resource; + +import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +/** + * <!-- begin-user-doc --> + * The <b>Resource Factory</b> associated with the package. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceImpl + * @generated + */ +public class RefreshextraResourceFactoryImpl extends ResourceFactoryImpl { + /** + * Creates an instance of the resource factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraResourceFactoryImpl() { + super(); + } + + /** + * Creates an instance of the resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Resource createResource(URI uri) { + XMLResource result = new RefreshextraResourceImpl(uri); + result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); + result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); + + result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE); + + result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); + result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); + + result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE); + return result; + } + +} //RefreshextraResourceFactoryImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java new file mode 100644 index 000000000..bbaacebb2 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java @@ -0,0 +1,28 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.util; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; + +/** + * <!-- begin-user-doc --> + * The <b>Resource </b> associated with the package. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceFactoryImpl + * @generated + */ +public class RefreshextraResourceImpl extends XMLResourceImpl { + /** + * Creates an instance of the resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param uri the URI of the new resource. + * @generated + */ + public RefreshextraResourceImpl(URI uri) { + super(uri); + } + +} //RefreshextraResourceImpl diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java new file mode 100644 index 000000000..9eccd233d --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java @@ -0,0 +1,215 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage + * @generated + */ +public class RefreshextraSwitch<T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static RefreshextraPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraSwitch() { + if (modelPackage == null) { + modelPackage = RefreshextraPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case RefreshextraPackage.ITEM_CONTAINER: { + ItemContainer itemContainer = (ItemContainer)theEObject; + T result = caseItemContainer(itemContainer); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RefreshextraPackage.ITEM_ELEMENT: { + ItemElement itemElement = (ItemElement)theEObject; + T result = caseItemElement(itemElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RefreshextraPackage.ITEM_NON_CONTAINER: { + ItemNonContainer itemNonContainer = (ItemNonContainer)theEObject; + T result = caseItemNonContainer(itemNonContainer); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RefreshextraPackage.ITEM_NON_CONTAINER2: { + ItemNonContainer2 itemNonContainer2 = (ItemNonContainer2)theEObject; + T result = caseItemNonContainer2(itemNonContainer2); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RefreshextraPackage.ITEM_CONTAINER2: { + ItemContainer2 itemContainer2 = (ItemContainer2)theEObject; + T result = caseItemContainer2(itemContainer2); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RefreshextraPackage.ITEM_ELEMENT_BIDIR: { + ItemElementBidir itemElementBidir = (ItemElementBidir)theEObject; + T result = caseItemElementBidir(itemElementBidir); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Container</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Container</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemContainer(ItemContainer object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Element</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemElement(ItemElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Non Container</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Non Container</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemNonContainer(ItemNonContainer object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Non Container2</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Non Container2</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemNonContainer2(ItemNonContainer2 object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Container2</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Container2</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemContainer2(ItemContainer2 object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Item Element Bidir</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Item Element Bidir</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseItemElementBidir(ItemElementBidir object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //RefreshextraSwitch diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java new file mode 100644 index 000000000..80b7299c6 --- /dev/null +++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java @@ -0,0 +1,50 @@ +/** + */ +package org.eclipse.emf.teneo.samples.issues.refreshextra.util; + +import java.util.Map; + +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.resource.Resource; + +import org.eclipse.emf.ecore.xmi.util.XMLProcessor; + +import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage; + +/** + * This class contains helper methods to serialize and deserialize XML documents + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class RefreshextraXMLProcessor extends XMLProcessor { + + /** + * Public constructor to instantiate the helper. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RefreshextraXMLProcessor() { + super((EPackage.Registry.INSTANCE)); + RefreshextraPackage.eINSTANCE.eClass(); + } + + /** + * Register for "*" and "xml" file extensions the RefreshextraResourceFactoryImpl factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected Map<String, Resource.Factory> getRegistrations() { + if (registrations == null) { + super.getRegistrations(); + registrations.put(XML_EXTENSION, new RefreshextraResourceFactoryImpl()); + registrations.put(STAR_EXTENSION, new RefreshextraResourceFactoryImpl()); + } + return registrations; + } + +} //RefreshextraXMLProcessor |