diff options
author | Martin Taal | 2012-11-02 07:12:05 +0000 |
---|---|---|
committer | Martin Taal | 2012-11-02 07:12:05 +0000 |
commit | fc9330d9ae331abe2351b056d5ab6881b3c4ccdb (patch) | |
tree | ea9e230528971f85931455f72dd6184f90365e7f /hibernate | |
parent | 82b64c8b5966329827a65c03ac20488cd39fbca9 (diff) | |
download | org.eclipse.emf.teneo-fc9330d9ae331abe2351b056d5ab6881b3c4ccdb.tar.gz org.eclipse.emf.teneo-fc9330d9ae331abe2351b056d5ab6881b3c4ccdb.tar.xz org.eclipse.emf.teneo-fc9330d9ae331abe2351b056d5ab6881b3c4ccdb.zip |
Added support for mixed content and auditing
Diffstat (limited to 'hibernate')
8 files changed, 104 insertions, 49 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStore.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStore.java index a93108bf7..6b07ad705 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStore.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStore.java @@ -195,6 +195,8 @@ public abstract class HbDataStore implements DataStore { private boolean auditing = false; private List<EPackage> auditingEPackages = new ArrayList<EPackage>(); + private AuditHandler auditHandler = null; + public EPackage.Registry getPackageRegistry() { if (packageRegistry == null) { return PackageRegistryProvider.getInstance().getPackageRegistry(); @@ -293,7 +295,7 @@ public abstract class HbDataStore implements DataStore { final List<EPackage> epacks = new ArrayList<EPackage>(Arrays.asList(getEPackages())); auditingEPackages.clear(); for (EPackage ePackage : originalEPackages) { - auditingEPackages.add(AuditHandler.getInstance().createAuditingEPackage(this, ePackage, + auditingEPackages.add(getAuditHandler().createAuditingEPackage(this, ePackage, getPackageRegistry(), getPersistenceOptions())); } epacks.add(TeneoauditingPackage.eINSTANCE); @@ -626,7 +628,7 @@ public abstract class HbDataStore implements DataStore { } // don't consider the auditing eclasses to be a top eclass - if (AuditHandler.getInstance().getModelElement(eClass) != null) { + if (getAuditHandler().getModelElement(eClass) != null) { return true; } if (TeneoauditingPackage.eNS_URI.equals(eClass.getEPackage().getNsURI())) { @@ -1885,4 +1887,16 @@ public abstract class HbDataStore implements DataStore { Boolean.toString(auditing)); this.auditing = auditing; } + + public AuditHandler getAuditHandler() { + if (auditHandler == null) { + auditHandler = getExtensionManager().getExtension(AuditHandler.class); + auditHandler.setDataStore(this); + } + return auditHandler; + } + + public void setAuditHandler(AuditHandler auditHandler) { + this.auditHandler = auditHandler; + } }
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityDataStore.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityDataStore.java index 52f29df39..1a8f51eef 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityDataStore.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityDataStore.java @@ -89,6 +89,10 @@ public class HbEntityDataStore extends HbDataStore implements EntityManagerFacto /** Initializes this Data Store */ @Override public void initialize() { + + // start with a fresh one + setAuditHandler(null); + if (ejb3Configuration != null && isResetConfigurationOnInitialization()) { ejb3Configuration = null; } diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionDataStore.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionDataStore.java index 11c303ed0..9001e3d42 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionDataStore.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionDataStore.java @@ -75,6 +75,9 @@ public class HbSessionDataStore extends HbBaseSessionDataStore { @Override public void initialize() { + // start with a fresh one + setAuditHandler(null); + if (hbConfiguration != null && isResetConfigurationOnInitialization()) { hbConfiguration = null; } @@ -241,7 +244,7 @@ public class HbSessionDataStore extends HbBaseSessionDataStore { } } - System.err.println(getMappingXML()); + // System.err.println(getMappingXML()); getConfiguration().addXML(getMappingXML()); } diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditHandler.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditHandler.java index 6ed21c199..169f5dcc0 100644 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditHandler.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditHandler.java @@ -39,6 +39,7 @@ import org.eclipse.emf.ecore.util.FeatureMapUtil; import org.eclipse.emf.ecore.xml.type.XMLTypePackage; import org.eclipse.emf.teneo.Constants; import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.extension.ExtensionPoint; import org.eclipse.emf.teneo.hibernate.HbDataStore; import org.eclipse.emf.teneo.hibernate.HbStoreException; import org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditEntry; @@ -53,23 +54,15 @@ import org.hibernate.engine.spi.SessionImplementor; * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> */ -public class AuditHandler { +public class AuditHandler implements ExtensionPoint { public static final String ID_SEPARATOR = ";"; - private static AuditHandler instance = new AuditHandler(); - - public static AuditHandler getInstance() { - return instance; - } - - public static void setInstance(AuditHandler instance) { - AuditHandler.instance = instance; - } - /** Constructor by id */ private final ConcurrentHashMap<String, Constructor<?>> constructors = new ConcurrentHashMap<String, Constructor<?>>(); + private HbDataStore dataStore; + /** * Copy the content from the source to the target, the copy action will translate all * {@link EReference} values to a String containing the id. @@ -99,12 +92,11 @@ public class AuditHandler { if (targetEFeature instanceof EAttribute && sourceEFeature instanceof EReference) { if (sourceEFeature.isMany()) { for (Object value : (Collection<?>) source.eGet(sourceEFeature)) { - final String idAsString = AuditHandler.getInstance().entityToIdString(session, value); + final String idAsString = entityToIdString(session, value); ((Collection<Object>) auditEntry.eGet(targetEFeature)).add(idAsString); } } else { - final String idAsString = AuditHandler.getInstance().entityToIdString(session, - source.eGet(sourceEFeature)); + final String idAsString = entityToIdString(session, source.eGet(sourceEFeature)); auditEntry.eSet(targetEFeature, idAsString); } } else { @@ -112,9 +104,8 @@ public class AuditHandler { if (FeatureMapUtil.isFeatureMap(sourceEFeature)) { for (Object value : ((Collection<?>) source.eGet(sourceEFeature))) { final FeatureMap.Entry sourceEntry = (FeatureMap.Entry) value; - final EStructuralFeature targetEntryFeature = AuditHandler.getInstance() - .getAuditingModelElement(sourceEntry.getEStructuralFeature(), - auditEntry.eClass().getName()); + final EStructuralFeature targetEntryFeature = getAuditingModelElement( + sourceEntry.getEStructuralFeature(), auditEntry.eClass().getName()); final FeatureMap.Entry targetEntry = createFeatureMapEntry(session, targetEntryFeature, sourceEntry); ((Collection<Object>) auditEntry.eGet(targetEFeature)).add(targetEntry); @@ -162,7 +153,7 @@ public class AuditHandler { FeatureMap.Entry sourceEntry) { Object value = sourceEntry.getValue(); if (sourceEntry.getEStructuralFeature() instanceof EReference) { - value = AuditHandler.getInstance().entityToIdString(session, value); + value = entityToIdString(session, value); } return FeatureMapUtil.createEntry(eFeature, value); } @@ -231,7 +222,7 @@ public class AuditHandler { return null; } if (auditModelElement instanceof EClass) { - return (T) StoreUtil.stringToEClass(id); + return (T) StoreUtil.stringToEClass(dataStore.getPackageRegistry(), id); } return (T) StoreUtil.stringToStructureFeature(id); } @@ -252,6 +243,13 @@ public class AuditHandler { public <T extends EModelElement> T getAuditingModelElement(T modelElement, String qualifier) { final EAnnotation eAnnotation = modelElement .getEAnnotation(Constants.ANNOTATION_SOURCE_AUDITING); + + if (eAnnotation == null + && modelElement instanceof EStructuralFeature + && ((EStructuralFeature) modelElement).getEContainingClass().getEPackage() == XMLTypePackage.eINSTANCE) { + return modelElement; + } + if (eAnnotation == null) { return null; } @@ -264,7 +262,7 @@ public class AuditHandler { return null; } if (modelElement instanceof EClass) { - return (T) StoreUtil.stringToEClass(id); + return (T) StoreUtil.stringToEClass(dataStore.getPackageRegistry(), id); } return (T) StoreUtil.stringToStructureFeature(id); } @@ -302,12 +300,27 @@ public class AuditHandler { if (ExtendedMetaData.INSTANCE.getGroup(eStructuralFeature) != null) { return false; } + if (ExtendedMetaData.INSTANCE.getAffiliation(eStructuralFeature) != null) { + return false; + } if (!eStructuralFeature.isChangeable() || eStructuralFeature.isVolatile() || eStructuralFeature.isDerived()) { + // special case the eclass is mixed + if (ExtendedMetaData.INSTANCE.getMixedFeature(eStructuralFeature.getEContainingClass()) != null) { + return false; + } + return true; } + if (eStructuralFeature instanceof EReference) { + final EReference eReference = (EReference) eStructuralFeature; + if (isNoAuditing(po, eReference.getEType())) { + return true; + } + } + return eStructuralFeature.isTransient() && (eStructuralFeature instanceof EAttribute || ((EReference) eStructuralFeature).getEOpposite() == null @@ -389,6 +402,11 @@ public class AuditHandler { eAuditingPackage.getEClassifiers().add(auditingEClass); setAuditingAssociation(eClass, auditingEClass, null); + if (null != eClass.getEAnnotation(ExtendedMetaData.ANNOTATION_URI)) { + auditingEClass.getEAnnotations().add( + EcoreUtil.copy(eClass.getEAnnotation(ExtendedMetaData.ANNOTATION_URI))); + } + if (eClass.getEAnnotation(Constants.ANNOTATION_SOURCE_TENEO_JPA_AUDITING) != null) { final EAnnotation teneoAnnotation = EcoreUtil.copy(eClass .getEAnnotation(Constants.ANNOTATION_SOURCE_TENEO_JPA)); @@ -463,4 +481,12 @@ public class AuditHandler { return eAuditingPackage; } + + public HbDataStore getDataStore() { + return dataStore; + } + + public void setDataStore(HbDataStore dataStore) { + this.dataStore = dataStore; + } }
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditProcessHandler.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditProcessHandler.java index 63a8637cc..28c0e97c4 100755 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditProcessHandler.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditProcessHandler.java @@ -69,7 +69,8 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, return false; } final EObject eObject = (EObject) entity; - final EClass auditEClass = AuditHandler.getInstance().getAuditingModelElement(eObject.eClass()); + final EClass auditEClass = dataStore.getAuditHandler() + .getAuditingModelElement(eObject.eClass()); return auditEClass != null; } @@ -112,6 +113,10 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, && (existingAuditWork.getAuditKind() == TeneoAuditKind.ADD && auditWork.getAuditKind() == TeneoAuditKind.DELETE)) { // delete with a preceding add, don't do anything, get rid of it auditWorks.remove(existingAuditWork); + } else if (existingAuditWork != null + && (existingAuditWork.getAuditKind() == TeneoAuditKind.UPDATE && auditWork.getAuditKind() == TeneoAuditKind.ADD)) { + // happens if the id has been set manually + auditWorks.remove(existingAuditWork); } else { auditWorks.remove(existingAuditWork); @@ -180,7 +185,6 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, } private void doAuditWorkInSession(Session session, List<AuditWork> auditWorks) { - final long commitTime = System.currentTimeMillis(); final List<Object> evictObjects = new ArrayList<Object>(); @@ -195,7 +199,7 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, for (AuditWork auditWork : auditWorks) { final EObject eObject = (EObject) auditWork.getEntity(); if (lastEClass != eObject.eClass()) { - auditEntryEClass = AuditHandler.getInstance().getAuditingModelElement(eObject.eClass()); + auditEntryEClass = dataStore.getAuditHandler().getAuditingModelElement(eObject.eClass()); lastEClass = eObject.eClass(); } final String auditEntryEntityName = HbUtil.getEntityName(auditEntryEClass); @@ -207,18 +211,18 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, auditEntry.setTeneo_commit_info(commitInfo); auditEntry.setTeneo_end(DEFAULT_END_TIMESTAMP); auditEntry.setTeneo_start(commitTime); - auditEntry.setTeneo_object_id(AuditHandler.getInstance().entityToIdString(session, + auditEntry.setTeneo_object_id(dataStore.getAuditHandler().entityToIdString(session, auditWork.getEntity())); if (auditWork.getEntity() instanceof EObject && null != ((EObject) auditWork.getEntity()).eContainer()) { - auditEntry.setTeneo_container_id(AuditHandler.getInstance().entityToIdString(session, + auditEntry.setTeneo_container_id(dataStore.getAuditHandler().entityToIdString(session, ((EObject) auditWork.getEntity()).eContainer())); auditEntry.setTeneo_container_feature_id(((InternalEObject) auditWork.getEntity()) .eContainerFeatureID()); } - AuditHandler.getInstance().copyContentToAuditEntry(session, (EObject) auditWork.getEntity(), + dataStore.getAuditHandler().copyContentToAuditEntry(session, (EObject) auditWork.getEntity(), auditEntry, auditWork.getAuditKind() != TeneoAuditKind.DELETE); if (auditWork.getAuditKind() != TeneoAuditKind.ADD) { @@ -233,13 +237,19 @@ public class AuditProcessHandler implements AfterTransactionCompletionProcess, infoQuery.setMaxResults(1); infoQuery.setString("objectId", auditEntry.getTeneo_object_id()); - final TeneoAuditEntry previousEntry = (TeneoAuditEntry) infoQuery.list().get(0); - previousEntry.setTeneo_end(commitTime - 1); - evictObjects.add(previousEntry); + @SuppressWarnings("unchecked") + final List<Object> list = infoQuery.list(); + if (!list.isEmpty()) { + // list can be empty this happens if the item has an id set, then hibernate fires + // an update event and not an add event + final TeneoAuditEntry previousEntry = (TeneoAuditEntry) list.get(0); + previousEntry.setTeneo_end(commitTime - 1); + evictObjects.add(previousEntry); - auditEntry.setTeneo_previous_start(previousEntry.getTeneo_start()); + auditEntry.setTeneo_previous_start(previousEntry.getTeneo_start()); - session.update(previousEntry); + session.update(previousEntry); + } } session.save(auditEntryEntityName, auditEntry); evictObjects.add(auditEntry); diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditVersionProvider.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditVersionProvider.java index 630dc3e11..f0f16ceb4 100644 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditVersionProvider.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/AuditVersionProvider.java @@ -129,14 +129,14 @@ public class AuditVersionProvider implements ExtensionPoint { public List<TeneoAuditEntry> getAllAuditEntries(EClass eClass, Object id) { checkState(); - final EClass auditingEClass = AuditHandler.getInstance().getAuditingModelElement(eClass); + final EClass auditingEClass = dataStore.getAuditHandler().getAuditingModelElement(eClass); final String entityName = auditingEClass.getEAnnotation(Constants.ANNOTATION_SOURCE_TENEO_JPA) .getDetails().get(Constants.ANNOTATION_KEY_ENTITY_NAME); final Query qry = getSession() .createQuery( "select e from " + entityName + " e where teneo_object_id=:objectId order by e.teneo_start"); - final String idAsString = AuditHandler.getInstance().idToString(eClass, id); + final String idAsString = dataStore.getAuditHandler().idToString(eClass, id); qry.setParameter("objectId", idAsString); final List<TeneoAuditEntry> result = new ArrayList<TeneoAuditEntry>(); for (Object o : qry.list()) { @@ -156,13 +156,13 @@ public class AuditVersionProvider implements ExtensionPoint { public TeneoAuditEntry getLatestAuditEntry(EClass eClass, Object id) { checkState(); - final EClass auditingEClass = AuditHandler.getInstance().getAuditingModelElement(eClass); + final EClass auditingEClass = dataStore.getAuditHandler().getAuditingModelElement(eClass); final String entityName = auditingEClass.getEAnnotation(Constants.ANNOTATION_SOURCE_TENEO_JPA) .getDetails().get(Constants.ANNOTATION_KEY_ENTITY_NAME); final Query qry = getSession().createQuery( "select e from " + entityName + " e where teneo_object_id=:objectId and teneo_end=" + AuditProcessHandler.DEFAULT_END_TIMESTAMP); - final String idAsString = AuditHandler.getInstance().idToString(eClass, id); + final String idAsString = dataStore.getAuditHandler().idToString(eClass, id); qry.setParameter("objectId", idAsString); qry.setMaxResults(1); return (TeneoAuditEntry) qry.uniqueResult(); @@ -174,9 +174,9 @@ public class AuditVersionProvider implements ExtensionPoint { * {@link TeneoAuditEntry#getTeneo_start()}. */ public EObject getRevision(TeneoAuditEntry auditEntry) { - final EClass eClass = AuditHandler.getInstance().getModelElement(auditEntry.eClass()); + final EClass eClass = dataStore.getAuditHandler().getModelElement(auditEntry.eClass()); final long timeStamp = auditEntry.getTeneo_start(); - final AuditReference auditReference = AuditHandler.getInstance().fromString( + final AuditReference auditReference = dataStore.getAuditHandler().fromString( timeStamp + AuditHandler.ID_SEPARATOR + auditEntry.getTeneo_object_id()); return getRevision(eClass, auditReference.getId(), timeStamp); } @@ -232,12 +232,12 @@ public class AuditVersionProvider implements ExtensionPoint { public EObject getRevision(EClass eClass, Object id, long timeStamp) { checkState(); - final String idAsString = AuditHandler.getInstance().idToString(eClass, id); + final String idAsString = dataStore.getAuditHandler().idToString(eClass, id); final String fullId = timeStamp + AuditHandler.ID_SEPARATOR + idAsString; if (auditResource.getEObjectFromCache(fullId) != null) { return auditResource.getEObjectFromCache(fullId); } - final EClass auditingEClass = AuditHandler.getInstance().getAuditingModelElement(eClass); + final EClass auditingEClass = dataStore.getAuditHandler().getAuditingModelElement(eClass); final String entityName = auditingEClass.getEAnnotation(Constants.ANNOTATION_SOURCE_TENEO_JPA) .getDetails().get(Constants.ANNOTATION_KEY_ENTITY_NAME); @@ -282,7 +282,7 @@ public class AuditVersionProvider implements ExtensionPoint { if (FeatureMapUtil.isFeatureMap(targetEFeature)) { for (Object value : ((Collection<?>) auditEntry.eGet(sourceEFeature))) { final FeatureMap.Entry sourceEntry = (FeatureMap.Entry) value; - final EStructuralFeature targetEntryFeature = AuditHandler.getInstance() + final EStructuralFeature targetEntryFeature = dataStore.getAuditHandler() .getModelElement(sourceEntry.getEStructuralFeature()); final FeatureMap.Entry targetEntry = createFeatureMapEntry(targetEntryFeature, sourceEntry, timeStamp); @@ -290,12 +290,12 @@ public class AuditVersionProvider implements ExtensionPoint { } } else if (targetEFeature.isMany()) { for (Object value : ((Collection<?>) auditEntry.eGet(sourceEFeature))) { - ((Collection<Object>) target.eGet(targetEFeature)).add(AuditHandler.getInstance() + ((Collection<Object>) target.eGet(targetEFeature)).add(dataStore.getAuditHandler() .convertValue(targetEFeature, value)); } } else { target.eSet(targetEFeature, - AuditHandler.getInstance().convertValue(targetEFeature, + dataStore.getAuditHandler().convertValue(targetEFeature, auditEntry.eGet(sourceEFeature))); } } @@ -334,7 +334,7 @@ public class AuditVersionProvider implements ExtensionPoint { if (eObject != null) { return eObject; } - final AuditReference reference = AuditHandler.getInstance().fromString(idStr); + final AuditReference reference = dataStore.getAuditHandler().fromString(idStr); final EClass refEClass = dataStore.getEntityNameStrategy().toEClass(reference.getEntityName()); eObject = refEClass.getEPackage().getEFactoryInstance().create(refEClass); ((InternalEObject) eObject).eSetProxyURI(URI.createURI(URI_STR + "#" + idStr)); @@ -385,7 +385,7 @@ public class AuditVersionProvider implements ExtensionPoint { } // read the auditEntry from the session - final AuditReference reference = AuditHandler.getInstance().fromString(uriFragment); + final AuditReference reference = dataStore.getAuditHandler().fromString(uriFragment); final EClass eClass = dataStore.getEntityNameStrategy().toEClass(reference.getEntityName()); EObject version = AuditVersionProvider.this.getRevision(eClass, reference.getId(), reference.getTimeStamp()); diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoAuditEntryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoAuditEntryImpl.java index da89baa61..6c210b489 100644 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoAuditEntryImpl.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoAuditEntryImpl.java @@ -3,7 +3,6 @@ package org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.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; diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoauditingFactoryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoauditingFactoryImpl.java index 70dae50c3..0df628c04 100644 --- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoauditingFactoryImpl.java +++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/auditing/model/teneoauditing/impl/TeneoauditingFactoryImpl.java @@ -8,7 +8,6 @@ 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.hibernate.auditing.model.teneoauditing.*; import org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditCommitInfo; import org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditEntry; import org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind; |