Author: adamw
Date: 2008-08-30 10:41:47 -0400 (Sat, 30 Aug 2008)
New Revision: 135
Added:
trunk/src/main/org/jboss/envers/revisioninfo/AbstractRevisionInfoGenerator.java
Modified:
trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java
trunk/src/main/org/jboss/envers/configuration/RevisionInfoConfiguration.java
trunk/src/main/org/jboss/envers/configuration/VersionsConfiguration.java
trunk/src/main/org/jboss/envers/configuration/VersionsEntitiesConfiguration.java
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java
trunk/src/main/org/jboss/envers/query/impl/RevisionsOfEntityQuery.java
trunk/src/main/org/jboss/envers/revisioninfo/CustomRevisionInfoGenerator.java
trunk/src/main/org/jboss/envers/revisioninfo/DefaultRevisionInfoGenerator.java
trunk/src/main/org/jboss/envers/revisioninfo/RevisionInfoGenerator.java
trunk/src/main/org/jboss/envers/synchronization/VersionsSync.java
trunk/src/main/org/jboss/envers/synchronization/VersionsSyncManager.java
trunk/src/main/org/jboss/envers/synchronization/work/AbstractVersionsWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/AddWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/CollectionChangeWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/DelWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/ModWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/PersistentCollectionChangeWorkUnit.java
trunk/src/main/org/jboss/envers/synchronization/work/VersionsWorkUnit.java
trunk/src/test/org/jboss/envers/test/integration/query/DeletedEntities.java
Log:
ENVERS-4: revision id as a foreign constraint
Modified: trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java
===================================================================
--- trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -88,6 +88,8 @@
if (pcDatas.size() > 0) {
try {
if (revisionInfoXmlMapping != null) {
+ // TODO
+ //writeDocument(revisionInfoXmlMapping);
cfg.addDocument(writer.write(revisionInfoXmlMapping));
}
} catch (DocumentException e) {
Modified: trunk/src/main/org/jboss/envers/configuration/RevisionInfoConfiguration.java
===================================================================
---
trunk/src/main/org/jboss/envers/configuration/RevisionInfoConfiguration.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/configuration/RevisionInfoConfiguration.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -151,7 +151,7 @@
revisionInfoEntityName = pc.getEntityName();
- revisionInfoGenerator = new
CustomRevisionInfoGenerator(pc.getMappedClass(),
+ revisionInfoGenerator = new
CustomRevisionInfoGenerator(revisionInfoEntityName, pc.getMappedClass(),
revisionEntity.value(), revisionInfoTimestampName);
}
}
@@ -160,34 +160,38 @@
Document revisionInfoXmlMapping = null;
if (revisionInfoGenerator == null) {
- revisionInfoGenerator = new
DefaultRevisionInfoGenerator(revisionInfoTimestampName);
+ revisionInfoGenerator = new
DefaultRevisionInfoGenerator(revisionInfoEntityName, revisionInfoTimestampName);
revisionInfoXmlMapping = generateDefaultRevisionInfoXmlMapping();
}
return new RevisionInfoConfigurationResult(
- new RevisionNumberGenerator(revisionInfoEntityName,
revisionInfoGenerator),
- revisionPropType,
- revisionInfoXmlMapping,
- new RevisionInfoQueryCreator(revisionInfoEntityName, revisionInfoIdName,
revisionInfoTimestampName));
+ revisionInfoGenerator, revisionPropType, revisionInfoXmlMapping,
+ new RevisionInfoQueryCreator(revisionInfoEntityName, revisionInfoIdName,
revisionInfoTimestampName),
+ revisionInfoEntityName, revisionInfoIdName);
}
}
class RevisionInfoConfigurationResult {
- private final RevisionNumberGenerator revisionNumberGenerator;
+ private final RevisionInfoGenerator revisionInfoGenerator;
private final String revisionPropType;
private final Document revisionInfoXmlMapping;
private final RevisionInfoQueryCreator revisionInfoQueryCreator;
+ private final String revisionInfoEntityName;
+ private final String revisionInfoIdName;
- RevisionInfoConfigurationResult(RevisionNumberGenerator revisionNumberGenerator,
String revisionPropType,
- Document revisionInfoXmlMapping,
RevisionInfoQueryCreator revisionInfoQueryCreator) {
- this.revisionNumberGenerator = revisionNumberGenerator;
+ RevisionInfoConfigurationResult(RevisionInfoGenerator revisionInfoGenerator, String
revisionPropType,
+ Document revisionInfoXmlMapping,
RevisionInfoQueryCreator revisionInfoQueryCreator,
+ String revisionInfoEntityName, String
revisionInfoIdName) {
+ this.revisionInfoGenerator = revisionInfoGenerator;
this.revisionPropType = revisionPropType;
this.revisionInfoXmlMapping = revisionInfoXmlMapping;
this.revisionInfoQueryCreator = revisionInfoQueryCreator;
+ this.revisionInfoEntityName = revisionInfoEntityName;
+ this.revisionInfoIdName = revisionInfoIdName;
}
- public RevisionNumberGenerator getRevisionNumberGenerator() {
- return revisionNumberGenerator;
+ public RevisionInfoGenerator getRevisionInfoGenerator() {
+ return revisionInfoGenerator;
}
public String getRevisionPropType() {
@@ -201,4 +205,12 @@
public RevisionInfoQueryCreator getRevisionInfoQueryCreator() {
return revisionInfoQueryCreator;
}
+
+ public String getRevisionInfoEntityName() {
+ return revisionInfoEntityName;
+ }
+
+ public String getRevisionInfoIdName() {
+ return revisionInfoIdName;
+ }
}
\ No newline at end of file
Modified: trunk/src/main/org/jboss/envers/configuration/VersionsConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/envers/configuration/VersionsConfiguration.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/configuration/VersionsConfiguration.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -66,9 +66,10 @@
YReflectionManager reflectionManager = YReflectionManager.get(cfg);
RevisionInfoConfiguration revInfoCfg = new RevisionInfoConfiguration();
RevisionInfoConfigurationResult revInfoCfgResult = revInfoCfg.configure(cfg,
reflectionManager);
- verEntCfg = new VersionsEntitiesConfiguration(properties,
revInfoCfgResult.getRevisionPropType());
+ verEntCfg = new VersionsEntitiesConfiguration(properties,
revInfoCfgResult.getRevisionPropType(),
+ revInfoCfgResult.getRevisionInfoEntityName(),
revInfoCfgResult.getRevisionInfoIdName());
globalCfg = new GlobalConfiguration(properties);
- versionsSyncManager = new
VersionsSyncManager(revInfoCfgResult.getRevisionNumberGenerator());
+ versionsSyncManager = new
VersionsSyncManager(revInfoCfgResult.getRevisionInfoGenerator());
revisionInfoQueryCreator = revInfoCfgResult.getRevisionInfoQueryCreator();
entCfg = new EntitiesConfigurator().configure(cfg, reflectionManager, globalCfg,
verEntCfg,
revInfoCfgResult.getRevisionInfoXmlMapping());
Modified:
trunk/src/main/org/jboss/envers/configuration/VersionsEntitiesConfiguration.java
===================================================================
---
trunk/src/main/org/jboss/envers/configuration/VersionsEntitiesConfiguration.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/configuration/VersionsEntitiesConfiguration.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -40,9 +40,16 @@
private final String revisionTypePropName;
private final String revisionTypePropType;
+ private final String revisionInfoEntityName;
+ private final String revisionInfoIdName;
+
private final Map<String, String> customVersionsTablesNames;
- public VersionsEntitiesConfiguration(Properties properties, String revisionPropType)
{
+ public VersionsEntitiesConfiguration(Properties properties, String revisionPropType,
String revisionInfoEntityName,
+ String revisionInfoIdName) {
+ this.revisionInfoEntityName = revisionInfoEntityName;
+ this.revisionInfoIdName = revisionInfoIdName;
+
versionsTablePrefix =
properties.getProperty("org.jboss.envers.versionsTablePrefix", "");
versionsTableSuffix =
properties.getProperty("org.jboss.envers.versionsTableSuffix",
"_versions");
@@ -56,17 +63,9 @@
customVersionsTablesNames = new HashMap<String, String>();
- revisionPropPath = originalIdPropName + "." + revisionPropName;
+ revisionPropPath = originalIdPropName + "." + revisionPropName +
".id";
}
- public String getVersionsTablePrefix() {
- return versionsTablePrefix;
- }
-
- public String getVersionsTableSuffix() {
- return versionsTableSuffix;
- }
-
public String getOriginalIdPropName() {
return originalIdPropName;
}
@@ -91,6 +90,14 @@
return revisionTypePropType;
}
+ public String getRevisionInfoEntityName() {
+ return revisionInfoEntityName;
+ }
+
+ public String getRevisionInfoIdName() {
+ return revisionInfoIdName;
+ }
+
//
public void addCustomVersionsTableName(String entityName, String tableName) {
@@ -100,7 +107,7 @@
//
public String getVersionsEntityName(String entityName) {
- return getVersionsTablePrefix() + entityName + getVersionsTableSuffix();
+ return versionsTablePrefix + entityName + versionsTableSuffix;
}
public boolean isVersionsEntityName(String entityName) {
@@ -108,14 +115,14 @@
return false;
}
- return entityName.endsWith(getVersionsTableSuffix()) &&
- entityName.startsWith(getVersionsTablePrefix());
+ return entityName.endsWith(versionsTableSuffix) &&
+ entityName.startsWith(versionsTablePrefix);
}
public String getVersionsTableName(String entityName, String tableName) {
String customHistoryTableName = customVersionsTablesNames.get(entityName);
if (customHistoryTableName == null) {
- return getVersionsTablePrefix() + tableName + getVersionsTableSuffix();
+ return versionsTablePrefix + tableName + versionsTableSuffix;
}
return customHistoryTableName;
Modified:
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java
===================================================================
---
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/configuration/metadata/VersionsMetadataGenerator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -90,9 +90,13 @@
}
}
- private void addRevisionNumber(Element any_mapping) {
- Element rev_mapping = MetadataTools.addProperty(any_mapping,
verEntCfg.getRevisionPropName(),
- verEntCfg.getRevisionPropType(), true);
+ private void addRevisionInfoRelation(Element any_mapping) {
+ Element rev_mapping = /*MetadataTools.addProperty(any_mapping,
verEntCfg.getRevisionPropName(),
+ verEntCfg.getRevisionPropType(), true); */
+ any_mapping.addElement("key-many-to-one");
+ rev_mapping.addAttribute("name", verEntCfg.getRevisionPropName());
+ rev_mapping.addAttribute("type", verEntCfg.getRevisionPropType());
+ rev_mapping.addAttribute("entity-name",
verEntCfg.getRevisionInfoEntityName());
MetadataTools.addColumn(rev_mapping, verEntCfg.getRevisionPropName(), null);
}
@@ -377,7 +381,7 @@
middleEntityId.add((Element) idProperty.clone());
}
- addRevisionNumber(middleEntityId);
+ addRevisionInfoRelation(middleEntityId);
addRevisionType(middleEntity);
entitiesConfigurations.get(entityName).addOneToManyDetachedRelation(property.getName(),
referencedEntityName);
@@ -661,8 +665,8 @@
orig_id_mapping.addAttribute("name",
verEntCfg.getOriginalIdPropName());
- // Adding the "revision number" property
- addRevisionNumber(orig_id_mapping);
+ // Adding a relation to the revision entity (effectively: the "revision
number" property)
+ addRevisionInfoRelation(orig_id_mapping);
return new IdMappingData(mapper, orig_id_mapping, rel_id_mapping);
}
Modified: trunk/src/main/org/jboss/envers/query/impl/RevisionsOfEntityQuery.java
===================================================================
--- trunk/src/main/org/jboss/envers/query/impl/RevisionsOfEntityQuery.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/query/impl/RevisionsOfEntityQuery.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -29,6 +29,7 @@
import org.jboss.envers.configuration.VersionsConfiguration;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Property;
+import org.hibernate.proxy.HibernateProxy;
import java.util.List;
import java.util.ArrayList;
@@ -51,6 +52,21 @@
this.selectDeletedEntities = selectDeletedEntities;
}
+ private Number getRevisionNumber(Map versionsEntity) {
+ VersionsEntitiesConfiguration verEntCfg = verCfg.getVerEntCfg();
+
+ String originalId = verEntCfg.getOriginalIdPropName();
+ String revisionPropertyName = verEntCfg.getRevisionPropName();
+
+ Object revisionInfoObject = ((Map)
versionsEntity.get(originalId)).get(revisionPropertyName);
+
+ if (revisionInfoObject instanceof HibernateProxy) {
+ return (Number) ((HibernateProxy)
revisionInfoObject).getHibernateLazyInitializer().getIdentifier();
+ } else {
+ return (Number) ((Map)
revisionInfoObject).get(verEntCfg.getRevisionInfoIdName());
+ }
+ }
+
@SuppressWarnings({"unchecked"})
public List list() throws VersionsException {
VersionsEntitiesConfiguration verEntCfg = verCfg.getVerEntCfg();
@@ -88,7 +104,7 @@
String revisionTypePropertyName = verEntCfg.getRevisionTypePropName();
for (Map versionsEntity : queryResult) {
- Number revision = (Number) ((Map)
versionsEntity.get(originalId)).get(revisionPropertyName);
+ Number revision = getRevisionNumber(versionsEntity);
Object entity =
entityInstantiator.createInstanceFromVersionsEntity(entityName, versionsEntity,
revision);
Added: trunk/src/main/org/jboss/envers/revisioninfo/AbstractRevisionInfoGenerator.java
===================================================================
--- trunk/src/main/org/jboss/envers/revisioninfo/AbstractRevisionInfoGenerator.java
(rev 0)
+++
trunk/src/main/org/jboss/envers/revisioninfo/AbstractRevisionInfoGenerator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -0,0 +1,22 @@
+package org.jboss.envers.revisioninfo;
+
+import org.hibernate.Session;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+public abstract class AbstractRevisionInfoGenerator implements RevisionInfoGenerator {
+ private final String revisionInfoEntityName;
+
+ protected AbstractRevisionInfoGenerator(String revisionInfoEntityName) {
+ this.revisionInfoEntityName = revisionInfoEntityName;
+ }
+
+ protected abstract Object newRevision();
+
+ public Object generate(Session session) {
+ Object revisionData = newRevision();
+ session.save(revisionInfoEntityName, revisionData);
+ return revisionData;
+ }
+}
Modified: trunk/src/main/org/jboss/envers/revisioninfo/CustomRevisionInfoGenerator.java
===================================================================
---
trunk/src/main/org/jboss/envers/revisioninfo/CustomRevisionInfoGenerator.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/revisioninfo/CustomRevisionInfoGenerator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -29,14 +29,16 @@
/**
* @author Adam Warski (adam at warski dot org)
*/
-public class CustomRevisionInfoGenerator implements RevisionInfoGenerator {
+public class CustomRevisionInfoGenerator extends AbstractRevisionInfoGenerator implements
RevisionInfoGenerator {
private final RevisionListener listener;
private final Setter revisionTimestampSetter;
private final Class<?> entityClass;
- public CustomRevisionInfoGenerator(Class<?> entityClass,
+ public CustomRevisionInfoGenerator(String revisionInfoEntityName, Class<?>
entityClass,
Class<? extends RevisionListener>
listenerClass,
String revisionInfoTimestampName) {
+ super(revisionInfoEntityName);
+
this.entityClass = entityClass;
revisionTimestampSetter = ReflectionTools.getSetter(entityClass,
revisionInfoTimestampName);
Modified: trunk/src/main/org/jboss/envers/revisioninfo/DefaultRevisionInfoGenerator.java
===================================================================
---
trunk/src/main/org/jboss/envers/revisioninfo/DefaultRevisionInfoGenerator.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/revisioninfo/DefaultRevisionInfoGenerator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -27,10 +27,12 @@
/**
* @author Adam Warski (adam at warski dot org)
*/
-public class DefaultRevisionInfoGenerator implements RevisionInfoGenerator {
+public class DefaultRevisionInfoGenerator extends AbstractRevisionInfoGenerator
implements RevisionInfoGenerator {
private final String revisionInfoTimestampName;
- public DefaultRevisionInfoGenerator(String revisionInfoTimestampName) {
+ public DefaultRevisionInfoGenerator(String revisionInfoEntityName, String
revisionInfoTimestampName) {
+ super(revisionInfoEntityName);
+
this.revisionInfoTimestampName = revisionInfoTimestampName;
}
Modified: trunk/src/main/org/jboss/envers/revisioninfo/RevisionInfoGenerator.java
===================================================================
--- trunk/src/main/org/jboss/envers/revisioninfo/RevisionInfoGenerator.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/revisioninfo/RevisionInfoGenerator.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -21,9 +21,11 @@
*/
package org.jboss.envers.revisioninfo;
+import org.hibernate.Session;
+
/**
* @author Adam Warski (adam at warski dot org)
*/
public interface RevisionInfoGenerator {
- public Object newRevision();
+ Object generate(Session session);
}
Modified: trunk/src/main/org/jboss/envers/synchronization/VersionsSync.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/VersionsSync.java 2008-08-30 08:04:19
UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/VersionsSync.java 2008-08-30 14:41:47
UTC (rev 135)
@@ -27,7 +27,7 @@
import org.hibernate.event.EventSource;
import org.jboss.envers.synchronization.work.VersionsWorkUnit;
import org.jboss.envers.tools.Pair;
-import org.jboss.envers.revisioninfo.RevisionNumberGenerator;
+import org.jboss.envers.revisioninfo.RevisionInfoGenerator;
import javax.transaction.Synchronization;
import java.util.*;
@@ -36,7 +36,7 @@
* @author Adam Warski (adam at warski dot org)
*/
public class VersionsSync implements Synchronization {
- private final RevisionNumberGenerator revisionNumberGenerator;
+ private final RevisionInfoGenerator revisionInfoGenerator;
private final VersionsSyncManager manager;
private final EventSource session;
@@ -45,12 +45,12 @@
private final Queue<VersionsWorkUnit> undoQueue;
private final Map<Pair<String, Object>, VersionsWorkUnit> usedIds;
- private Number revision;
+ private Object revisionData;
- public VersionsSync(VersionsSyncManager manager, EventSource session,
RevisionNumberGenerator revisionNumberGenerator) {
+ public VersionsSync(VersionsSyncManager manager, EventSource session,
RevisionInfoGenerator revisionInfoGenerator) {
this.manager = manager;
this.session = session;
- this.revisionNumberGenerator = revisionNumberGenerator;
+ this.revisionInfoGenerator = revisionInfoGenerator;
transaction = session.getTransaction();
workUnits = new LinkedList<VersionsWorkUnit>();
@@ -105,8 +105,8 @@
}
private void executeInSession(Session session) {
- if (revision == null) {
- revision = revisionNumberGenerator.generate(session);
+ if (revisionData == null) {
+ revisionData = revisionInfoGenerator.generate(session);
}
VersionsWorkUnit vwu;
@@ -117,7 +117,7 @@
}
while ((vwu = workUnits.poll()) != null) {
- vwu.perform(session, revision);
+ vwu.perform(session, revisionData);
}
}
@@ -126,8 +126,6 @@
return;
}
- System.out.println("FLUSH MODE: " + session.getFlushMode());
-
if (FlushMode.isManualFlushMode(session.getFlushMode())) {
Session temporarySession = null;
try {
Modified: trunk/src/main/org/jboss/envers/synchronization/VersionsSyncManager.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/VersionsSyncManager.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/VersionsSyncManager.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -22,7 +22,7 @@
package org.jboss.envers.synchronization;
import org.jboss.envers.tools.ConcurrentReferenceHashMap;
-import org.jboss.envers.revisioninfo.RevisionNumberGenerator;
+import org.jboss.envers.revisioninfo.RevisionInfoGenerator;
import org.hibernate.Transaction;
import org.hibernate.event.EventSource;
@@ -33,14 +33,14 @@
*/
public class VersionsSyncManager {
private final Map<Transaction, VersionsSync> versionsSyncs;
- private final RevisionNumberGenerator revisionNumberGenerator;
+ private final RevisionInfoGenerator revisionInfoGenerator;
- public VersionsSyncManager(RevisionNumberGenerator revisionNumberGenerator) {
+ public VersionsSyncManager(RevisionInfoGenerator revisionInfoGenerator) {
versionsSyncs = new ConcurrentReferenceHashMap<Transaction,
VersionsSync>(10,
ConcurrentReferenceHashMap.ReferenceType.WEAK,
ConcurrentReferenceHashMap.ReferenceType.STRONG);
- this.revisionNumberGenerator = revisionNumberGenerator;
+ this.revisionInfoGenerator = revisionInfoGenerator;
}
public VersionsSync get(EventSource session) {
@@ -48,7 +48,7 @@
VersionsSync verSync = versionsSyncs.get(transaction);
if (verSync == null) {
- verSync = new VersionsSync(this, session, revisionNumberGenerator);
+ verSync = new VersionsSync(this, session, revisionInfoGenerator);
versionsSyncs.put(transaction, verSync);
transaction.registerSynchronization(verSync);
Modified:
trunk/src/main/org/jboss/envers/synchronization/work/AbstractVersionsWorkUnit.java
===================================================================
---
trunk/src/main/org/jboss/envers/synchronization/work/AbstractVersionsWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/synchronization/work/AbstractVersionsWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -47,7 +47,7 @@
this.entityName = entityName;
}
- protected void fillDataWithId(Map<String, Object> data, Number revision,
RevisionType revisionType) {
+ protected void fillDataWithId(Map<String, Object> data, Object revision,
RevisionType revisionType) {
VersionsEntitiesConfiguration entitiesCfg = verCfg.getVerEntCfg();
Map<String, Object> originalId = new HashMap<String, Object>();
Modified: trunk/src/main/org/jboss/envers/synchronization/work/AddWorkUnit.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/work/AddWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/work/AddWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -49,9 +49,9 @@
return true;
}
- public void perform(Session session, Number revision) {
+ public void perform(Session session, Object revisionData) {
Map<String, Object> data = new HashMap<String, Object>();
- fillDataWithId(data, revision, RevisionType.ADD);
+ fillDataWithId(data, revisionData, RevisionType.ADD);
verCfg.getEntCfg().get(getEntityName()).getPropertyMapper().map(data,
propertyNames, state, null);
Modified:
trunk/src/main/org/jboss/envers/synchronization/work/CollectionChangeWorkUnit.java
===================================================================
---
trunk/src/main/org/jboss/envers/synchronization/work/CollectionChangeWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/synchronization/work/CollectionChangeWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -45,9 +45,9 @@
return true;
}
- public void perform(Session session, Number revision) {
+ public void perform(Session session, Object revisionData) {
Map<String, Object> data = new HashMap<String, Object>();
- fillDataWithId(data, revision, RevisionType.MOD);
+ fillDataWithId(data, revisionData, RevisionType.MOD);
verCfg.getEntCfg().get(getEntityName()).getPropertyMapper().mapToMapFromEntity(data,
entity, null);
Modified: trunk/src/main/org/jboss/envers/synchronization/work/DelWorkUnit.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/work/DelWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/work/DelWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -41,9 +41,9 @@
return true;
}
- public void perform(Session session, Number revision) {
+ public void perform(Session session, Object revisionData) {
Map<String, Object> data = new HashMap<String, Object>();
- fillDataWithId(data, revision, RevisionType.DEL);
+ fillDataWithId(data, revisionData, RevisionType.DEL);
session.save(verCfg.getVerEntCfg().getVersionsEntityName(getEntityName()),
data);
Modified: trunk/src/main/org/jboss/envers/synchronization/work/ModWorkUnit.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/work/ModWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/work/ModWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -50,8 +50,8 @@
return changes;
}
- public void perform(Session session, Number revision) {
- fillDataWithId(data, revision, RevisionType.MOD);
+ public void perform(Session session, Object revisionData) {
+ fillDataWithId(data, revisionData, RevisionType.MOD);
session.save(verCfg.getVerEntCfg().getVersionsEntityName(getEntityName()),
data);
Modified:
trunk/src/main/org/jboss/envers/synchronization/work/PersistentCollectionChangeWorkUnit.java
===================================================================
---
trunk/src/main/org/jboss/envers/synchronization/work/PersistentCollectionChangeWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++
trunk/src/main/org/jboss/envers/synchronization/work/PersistentCollectionChangeWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -33,13 +33,13 @@
}
@SuppressWarnings({"unchecked"})
- public void perform(Session session, Number revision) {
+ public void perform(Session session, Object revisionData) {
VersionsEntitiesConfiguration entitiesCfg = verCfg.getVerEntCfg();
for (PersistentCollectionChangeData persistentCollectionChangeData :
collectionChanges) {
// Setting the revision number
((Map<String, Object>)
persistentCollectionChangeData.getData().get(entitiesCfg.getOriginalIdPropName()))
- .put(entitiesCfg.getRevisionPropName(), revision);
+ .put(entitiesCfg.getRevisionPropName(), revisionData);
session.save(persistentCollectionChangeData.getEntityName(),
persistentCollectionChangeData.getData());
}
Modified: trunk/src/main/org/jboss/envers/synchronization/work/VersionsWorkUnit.java
===================================================================
--- trunk/src/main/org/jboss/envers/synchronization/work/VersionsWorkUnit.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/main/org/jboss/envers/synchronization/work/VersionsWorkUnit.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -34,6 +34,6 @@
boolean isPerformed();
- void perform(Session session, Number revision);
+ void perform(Session session, Object revisionData);
void undo(Session session);
}
Modified: trunk/src/test/org/jboss/envers/test/integration/query/DeletedEntities.java
===================================================================
--- trunk/src/test/org/jboss/envers/test/integration/query/DeletedEntities.java 2008-08-30
08:04:19 UTC (rev 134)
+++ trunk/src/test/org/jboss/envers/test/integration/query/DeletedEntities.java 2008-08-30
14:41:47 UTC (rev 135)
@@ -2,10 +2,7 @@
import org.jboss.envers.test.integration.AbstractEntityTest;
import org.jboss.envers.test.entities.StrIntTestEntity;
-import org.jboss.envers.test.tools.TestTools;
import org.jboss.envers.query.VersionsRestrictions;
-import org.jboss.envers.query.RevisionProperty;
-import org.jboss.envers.query.RevisionTypeProperty;
import org.jboss.envers.RevisionType;
import org.hibernate.ejb.Ejb3Configuration;
import org.hibernate.criterion.Projections;
@@ -14,14 +11,11 @@
import javax.persistence.EntityManager;
import java.util.List;
-import java.util.HashSet;
-import java.util.Arrays;
/**
* @author Adam Warski (adam at warski dot org)
*/
public class DeletedEntities extends AbstractEntityTest {
- private Integer id1;
private Integer id2;
public void configure(Ejb3Configuration cfg) {
@@ -40,7 +34,6 @@
em.persist(site1);
em.persist(site2);
- id1 = site1.getId();
id2 = site2.getId();
em.getTransaction().commit();