[hibernate-commits] Hibernate SVN: r20745 - in core/trunk: envers/src/main/java/org/hibernate/envers/configuration and 4 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Sep 28 19:50:54 EDT 2010


Author: fbascheper
Date: 2010-09-28 19:50:53 -0400 (Tue, 28 Sep 2010)
New Revision: 20745

Removed:
   core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/strategy/
Modified:
   core/trunk/documentation/envers/src/main/docbook/en-US/content/configuration.xml
   core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditConfiguration.java
   core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditEntitiesConfiguration.java
   core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java
   core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AuditMetadataGenerator.java
   core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/MetadataTools.java
   core/trunk/envers/src/main/java/org/hibernate/envers/strategy/ValidityAuditStrategy.java
   core/trunk/envers/src/test/resources/testng.xml
Log:
HHH5371 - Rollback until after 3.6.0 release as per Adam's request via IM

Modified: core/trunk/documentation/envers/src/main/docbook/en-US/content/configuration.xml
===================================================================
--- core/trunk/documentation/envers/src/main/docbook/en-US/content/configuration.xml	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/documentation/envers/src/main/docbook/en-US/content/configuration.xml	2010-09-28 23:50:53 UTC (rev 20745)
@@ -249,33 +249,6 @@
                         valid if the validity audit strategy is used.
                     </entry>
                 </row>
-                <row>
-                    <entry>
-                        <property>org.hibernate.envers.audit_strategy_validity_store_revend_timestamp</property>
-                    </entry>
-                    <entry>
-                        false
-                    </entry>
-                    <entry>
-                        Should the timestamp of the end revision be stored, until which the data was valid, in addition to the end revision itself. 
-                        This is useful to be able to purge old Audit records out of a relational database by using table partitioning. 
-                        Partitioning requires a column that exists within the table.
-                        This property is only evaluated if the ValidityAuditStrategy is used.
-                    </entry>
-                </row>
-                <row>
-                    <entry>
-                        <property>org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name</property>
-                    </entry>
-                    <entry>
-                        REVEND_TSTMP
-                    </entry>
-                    <entry>
-                        Column name of the timestamp of the end revision until which the data was valid.
-                        Only used if the ValidityAuditStrategy is used, and 
-                        org.hibernate.envers.audit_strategy_validity_store_revend_timestamp evaluates to true
-                    </entry>
-                </row>
             </tbody>
         </tgroup>
     </table>

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditConfiguration.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditConfiguration.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditConfiguration.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -28,18 +28,16 @@
 import java.util.WeakHashMap;
 
 import org.hibernate.MappingException;
-import org.hibernate.annotations.common.reflection.ReflectionManager;
-import org.hibernate.cfg.Configuration;
 import org.hibernate.envers.entities.EntitiesConfigurations;
-import org.hibernate.envers.entities.PropertyData;
 import org.hibernate.envers.revisioninfo.RevisionInfoNumberReader;
 import org.hibernate.envers.revisioninfo.RevisionInfoQueryCreator;
-import org.hibernate.envers.strategy.AuditStrategy;
-import org.hibernate.envers.strategy.ValidityAuditStrategy;
 import org.hibernate.envers.synchronization.AuditProcessManager;
-import org.hibernate.envers.tools.reflection.ReflectionTools;
-import org.hibernate.property.Getter;
+import org.hibernate.envers.strategy.AuditStrategy;
 
+import org.hibernate.cfg.Configuration;
+import org.hibernate.cfg.AnnotationConfiguration;
+import org.hibernate.annotations.common.reflection.ReflectionManager;
+
 /**
  * @author Adam Warski (adam at warski dot org)
  * @author Stephanie Pau at Markit Group Plc
@@ -81,6 +79,7 @@
         return auditStrategy;
     }
 
+    @SuppressWarnings({ "unchecked" })
     public AuditConfiguration(Configuration cfg) {
         Properties properties = cfg.getProperties();
 
@@ -90,33 +89,20 @@
         auditEntCfg = new AuditEntitiesConfiguration(properties, revInfoCfgResult.getRevisionInfoEntityName());
         globalCfg = new GlobalConfiguration(properties);
         auditProcessManager = new AuditProcessManager(revInfoCfgResult.getRevisionInfoGenerator());
+
+        try {
+            Class auditStrategyClass = Thread.currentThread().getContextClassLoader().loadClass(auditEntCfg.getAuditStrategyName());
+            auditStrategy = (AuditStrategy) auditStrategyClass.newInstance();
+        } catch (Exception e) {
+           throw new MappingException(String.format("Unable to create AuditStrategy[%s] instance." , auditEntCfg.getAuditStrategyName()));
+        }
+        
         revisionInfoQueryCreator = revInfoCfgResult.getRevisionInfoQueryCreator();
         revisionInfoNumberReader = revInfoCfgResult.getRevisionInfoNumberReader();
-        auditStrategy = initializeAuditStrategy(revInfoCfgResult.getRevisionInfoClass(), 
-        		revInfoCfgResult.getRevisionInfoTimestampData());
         entCfg = new EntitiesConfigurator().configure(cfg, reflectionManager, globalCfg, auditEntCfg, auditStrategy,
                 revInfoCfgResult.getRevisionInfoXmlMapping(), revInfoCfgResult.getRevisionInfoRelationMapping());
     }
 
-	private AuditStrategy initializeAuditStrategy(Class<?> revisionInfoClass, PropertyData revisionInfoTimestampData) {
-		AuditStrategy strategy;
-		
-		try {
-            Class<?> auditStrategyClass = Thread.currentThread().getContextClassLoader().loadClass(auditEntCfg.getAuditStrategyName());
-            strategy = (AuditStrategy) auditStrategyClass.newInstance();
-        } catch (Exception e) {
-           throw new MappingException(String.format("Unable to create AuditStrategy[%s] instance." , auditEntCfg.getAuditStrategyName()));
-        }
-        
-        if (strategy instanceof ValidityAuditStrategy) {
-        	// further initialization required
-        	Getter revisionTimestampGetter = ReflectionTools.getGetter(revisionInfoClass, revisionInfoTimestampData);
-        	((ValidityAuditStrategy) strategy).setRevisionTimestampGetter(revisionTimestampGetter);
-        }
-
-        return strategy;
-	}
-
     //
 
     private static Map<Configuration, AuditConfiguration> cfgs

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditEntitiesConfiguration.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditEntitiesConfiguration.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/AuditEntitiesConfiguration.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -25,11 +25,17 @@
 
 import static org.hibernate.envers.tools.Tools.getProperty;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import org.hibernate.MappingException;
 import org.hibernate.envers.strategy.DefaultAuditStrategy;
+import org.hibernate.envers.strategy.ValidityAuditStrategy;
 
 /**
  * Configuration of versions entities - names of fields, entities and tables created to store versioning information.
@@ -55,9 +61,6 @@
     private final Map<String, String> customAuditTablesNames;
 
     private final String revisionEndFieldName;
-    
-    private final boolean revisionEndTimestampEnabled;
-    private final String revisionEndTimestampFieldName;
 
     public AuditEntitiesConfiguration(Properties properties, String revisionInfoEntityName) {
         this.revisionInfoEntityName = revisionInfoEntityName;
@@ -94,21 +97,6 @@
                 "org.hibernate.envers.audit_strategy_valid_time_end_name",
                 "REVEND");
 
-        String revisionEndTimestampEnabledStr = getProperty(properties,
-        		"org.hibernate.envers.audit_strategy_validity_store_revend_timestamp",
-        		"org.hibernate.envers.audit_strategy_validity_store_revend_timestamp",
-        		"false");
-        revisionEndTimestampEnabled = Boolean.parseBoolean(revisionEndTimestampEnabledStr);
-                
-        if (revisionEndTimestampEnabled) {
-            revisionEndTimestampFieldName = getProperty(properties,
-            		"org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name",
-            		"org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name",
-            		"REVEND_TSTMP");
-        } else {
-            revisionEndTimestampFieldName = null;
-        }
-        
         customAuditTablesNames = new HashMap<String, String>();
 
         revisionNumberPath = originalIdPropName + "." + revisionFieldName + ".id";
@@ -123,14 +111,6 @@
         return revisionFieldName;
     }
 
-	public boolean isRevisionEndTimestampEnabled() {
-		return revisionEndTimestampEnabled;
-	}
-
-	public String getRevisionEndTimestampFieldName() {
-		return revisionEndTimestampFieldName;
-	}
-    
     public String getRevisionNumberPath() {
         return revisionNumberPath;
     }

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -29,6 +29,7 @@
 import org.dom4j.Document;
 import org.dom4j.DocumentHelper;
 import org.dom4j.Element;
+import org.hibernate.envers.Audited;
 import org.hibernate.envers.*;
 import org.hibernate.envers.entities.PropertyData;
 import org.hibernate.envers.configuration.metadata.MetadataTools;
@@ -175,6 +176,7 @@
                 "property");
     }
 
+    @SuppressWarnings({"unchecked"})
     public RevisionInfoConfigurationResult configure(Configuration cfg, ReflectionManager reflectionManager) {
         Iterator<PersistentClass> classes = (Iterator<PersistentClass>) cfg.getClassMappings();
         boolean revisionEntityFound = false;
@@ -243,8 +245,7 @@
                 new RevisionInfoQueryCreator(revisionInfoEntityName, revisionInfoIdData.getName(),
                         revisionInfoTimestampData.getName(), isTimestampAsDate()),
                 generateRevisionInfoRelationMapping(),
-                new RevisionInfoNumberReader(revisionInfoClass, revisionInfoIdData), revisionInfoEntityName, 
-                revisionInfoClass, revisionInfoTimestampData);
+                new RevisionInfoNumberReader(revisionInfoClass, revisionInfoIdData), revisionInfoEntityName);
     }
     
     private boolean isTimestampAsDate() {
@@ -260,22 +261,17 @@
     private final Element revisionInfoRelationMapping;
     private final RevisionInfoNumberReader revisionInfoNumberReader;
     private final String revisionInfoEntityName;
-    private final Class<?> revisionInfoClass;
-    private final PropertyData revisionInfoTimestampData;
 
     RevisionInfoConfigurationResult(RevisionInfoGenerator revisionInfoGenerator,
                                     Document revisionInfoXmlMapping, RevisionInfoQueryCreator revisionInfoQueryCreator,
                                     Element revisionInfoRelationMapping,
-                                    RevisionInfoNumberReader revisionInfoNumberReader, String revisionInfoEntityName,  Class<?> revisionInfoClass,
-                                    PropertyData revisionInfoTimestampData) {
+                                    RevisionInfoNumberReader revisionInfoNumberReader, String revisionInfoEntityName) {
         this.revisionInfoGenerator = revisionInfoGenerator;
         this.revisionInfoXmlMapping = revisionInfoXmlMapping;
         this.revisionInfoQueryCreator = revisionInfoQueryCreator;
         this.revisionInfoRelationMapping = revisionInfoRelationMapping;
         this.revisionInfoNumberReader = revisionInfoNumberReader;
         this.revisionInfoEntityName = revisionInfoEntityName;
-        this.revisionInfoClass = revisionInfoClass;
-        this.revisionInfoTimestampData = revisionInfoTimestampData;
     }
 
     public RevisionInfoGenerator getRevisionInfoGenerator() {
@@ -301,13 +297,4 @@
     public String getRevisionInfoEntityName() {
         return revisionInfoEntityName;
     }
-
-	public Class<?> getRevisionInfoClass() {
-		return revisionInfoClass;
-	}
-
-	public PropertyData getRevisionInfoTimestampData() {
-		return revisionInfoTimestampData;
-	}
-    
 }
\ No newline at end of file

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AuditMetadataGenerator.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AuditMetadataGenerator.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AuditMetadataGenerator.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -55,7 +55,6 @@
 import org.hibernate.type.ComponentType;
 import org.hibernate.type.ManyToOneType;
 import org.hibernate.type.OneToOneType;
-import org.hibernate.type.TimestampType;
 import org.hibernate.type.Type;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -65,7 +64,7 @@
  * @author Sebastian Komander
  * @author Tomasz Bech
  * @author Stephanie Pau at Markit Group Plc
- * @author Hern&aacute;n Chanfreau
+ * @author Hern�n Chanfreau
  */
 public final class AuditMetadataGenerator {
     private static final Logger log = LoggerFactory.getLogger(AuditMetadataGenerator.class);
@@ -145,7 +144,7 @@
         addEndRevision(any_mapping);
     }
 
-    private void addEndRevision(Element any_mapping ) {
+    private void addEndRevision(Element any_mapping) {
         // Add the end-revision field, if the appropriate strategy is used.
         if (auditStrategy instanceof ValidityAuditStrategy) {
             Element end_rev_mapping = (Element) revisionInfoRelationMapping.clone();
@@ -154,16 +153,10 @@
             MetadataTools.addOrModifyColumn(end_rev_mapping, verEntCfg.getRevisionEndFieldName());
 
             any_mapping.add(end_rev_mapping);
-            
-            if (verEntCfg.isRevisionEndTimestampEnabled()) {
-            	// add a column for the timestamp of the end revision
-            	String revisionInfoTimestampSqlType = TimestampType.INSTANCE.getName();
-            	Element timestampProperty = MetadataTools.addProperty(any_mapping, verEntCfg.getRevisionEndTimestampFieldName(), revisionInfoTimestampSqlType, true, true, false);
-            	MetadataTools.addColumn(timestampProperty, verEntCfg.getRevisionEndTimestampFieldName(), 0, 0, 0, null);
-            }
         }
     }
 
+    @SuppressWarnings({"unchecked"})
     void addValue(Element parent, Value value, CompositeMapperBuilder currentMapper, String entityName,
                   EntityXmlMappingData xmlMappingData, PropertyAuditingData propertyAuditingData,
                   boolean insertable, boolean firstPass) {
@@ -211,6 +204,7 @@
         }
     }
 
+    @SuppressWarnings({"unchecked"})
     private void addProperties(Element parent, Iterator<Property> properties, CompositeMapperBuilder currentMapper,
                                ClassAuditingData auditingData, String entityName, EntityXmlMappingData xmlMappingData,
                                boolean firstPass) {

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/MetadataTools.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/MetadataTools.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/MetadataTools.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -49,7 +49,7 @@
         return id_mapping;
     }
 
-    public static Element addProperty(Element parent, String name, String type, boolean insertable, boolean updateable, boolean key) {
+    public static Element addProperty(Element parent, String name, String type, boolean insertable, boolean key) {
         Element prop_mapping;
         if (key) {
             prop_mapping = parent.addElement("key-property");
@@ -59,7 +59,7 @@
 
         prop_mapping.addAttribute("name", name);
         prop_mapping.addAttribute("insert", Boolean.toString(insertable));
-        prop_mapping.addAttribute("update", Boolean.toString(updateable));
+        prop_mapping.addAttribute("update", "false");
 
         if (type != null) {
             prop_mapping.addAttribute("type", type);
@@ -68,10 +68,6 @@
         return prop_mapping;
     }
 
-    public static Element addProperty(Element parent, String name, String type, boolean insertable, boolean key) {
-        return addProperty(parent, name, type, insertable, false, key);
-    }
-
     private static void addOrModifyAttribute(Element parent, String name, String value) {
         Attribute attribute = parent.attribute(name);
         if (attribute == null) {

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/strategy/ValidityAuditStrategy.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/strategy/ValidityAuditStrategy.java	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/strategy/ValidityAuditStrategy.java	2010-09-28 23:50:53 UTC (rev 20745)
@@ -1,7 +1,6 @@
 package org.hibernate.envers.strategy;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -16,7 +15,6 @@
 import org.hibernate.envers.entities.mapper.relation.MiddleIdData;
 import org.hibernate.envers.tools.query.Parameters;
 import org.hibernate.envers.tools.query.QueryBuilder;
-import org.hibernate.property.Getter;
 
 /**
  *  Audit strategy which persists and retrieves audit information using a validity algorithm, based on the 
@@ -41,11 +39,7 @@
  * @author Adam Warski (adam at warski dot org)
  */
 public class ValidityAuditStrategy implements AuditStrategy {
-	
-	/** getter for the revision entity field annotated with @RevisionTimestamp */ 
-	private Getter revisionTimestampGetter = null;
-	
-	public void perform(Session session, String entityName, AuditConfiguration auditCfg, Serializable id, Object data,
+    public void perform(Session session, String entityName, AuditConfiguration auditCfg, Serializable id, Object data,
                         Object revision) {
         AuditEntitiesConfiguration audEntCfg = auditCfg.getAuditEntCfg();
         String auditedEntityName = audEntCfg.getAuditEntityName(entityName);
@@ -74,22 +68,27 @@
     public void performCollectionChange(Session session, AuditConfiguration auditCfg,
                                         PersistentCollectionChangeData persistentCollectionChangeData, Object revision) {
         // Update the end date of the previous row if this operation is expected to have a previous row
-        // Constructing a query (there are multiple id fields):
-        // select e from audited_middle_ent e where e.end_rev is null and e.id1 = :id1 and e.id2 = :id2 ...
+        if (getRevisionType(auditCfg, persistentCollectionChangeData.getData()) != RevisionType.ADD) {
+            /*
+             Constructing a query (there are multiple id fields):
+             select e from audited_middle_ent e where e.end_rev is null and e.id1 = :id1 and e.id2 = :id2 ...
+             */
 
-        QueryBuilder qb = new QueryBuilder(persistentCollectionChangeData.getEntityName(), "e");
+            QueryBuilder qb = new QueryBuilder(persistentCollectionChangeData.getEntityName(), "e");
 
-        // Adding a parameter for each id component, except the rev number
-        String originalIdPropName = auditCfg.getAuditEntCfg().getOriginalIdPropName();
-        Map<String, Object> originalId = (Map<String, Object>) persistentCollectionChangeData.getData().get(
+            // Adding a parameter for each id component, except the rev number
+            String originalIdPropName = auditCfg.getAuditEntCfg().getOriginalIdPropName();
+            Map<String, Object> originalId = (Map<String, Object>) persistentCollectionChangeData.getData().get(
                     originalIdPropName);
-        for (Map.Entry<String, Object> originalIdEntry : originalId.entrySet()) {
-           if (!auditCfg.getAuditEntCfg().getRevisionFieldName().equals(originalIdEntry.getKey())) {
-              qb.getRootParameters().addWhereWithParam(originalIdPropName + "." + originalIdEntry.getKey(),
-              true, "=", originalIdEntry.getValue());
-           }
+            for (Map.Entry<String, Object> originalIdEntry : originalId.entrySet()) {
+                if (!auditCfg.getAuditEntCfg().getRevisionFieldName().equals(originalIdEntry.getKey())) {
+                    qb.getRootParameters().addWhereWithParam(originalIdPropName + "." + originalIdEntry.getKey(),
+                            true, "=", originalIdEntry.getValue());
+                }
+            }
+
+            updateLastRevision(session, auditCfg, qb, originalId, persistentCollectionChangeData.getEntityName(), revision);
         }
-        updateLastRevision(session, auditCfg, qb, originalId, persistentCollectionChangeData.getEntityName(), revision);
 
         // Save the audit data
         session.save(persistentCollectionChangeData.getEntityName(), persistentCollectionChangeData.getData());
@@ -111,11 +110,7 @@
 		addRevisionRestriction(rootParameters, revisionProperty, revisionEndProperty, addAlias);
 	}
     
-	public void setRevisionTimestampGetter(Getter revisionTimestampGetter) {
-		this.revisionTimestampGetter = revisionTimestampGetter;
-	}
-
-	private void addRevisionRestriction(Parameters rootParameters,  
+    private void addRevisionRestriction(Parameters rootParameters,  
 			String revisionProperty, String revisionEndProperty, boolean addAlias) {
     	
 		// e.revision <= _revision and (e.endRevision > _revision or e.endRevision is null)
@@ -134,7 +129,7 @@
     private void updateLastRevision(Session session, AuditConfiguration auditCfg, QueryBuilder qb,
                                     Object id, String auditedEntityName, Object revision) {
         String revisionEndFieldName = auditCfg.getAuditEntCfg().getRevisionEndFieldName();
-        
+
         // e.end_rev is null
         qb.getRootParameters().addWhere(revisionEndFieldName, true, "is", "null", false);
 
@@ -146,28 +141,10 @@
             Object previousData = l.get(0);
             ((Map<String, Object>) previousData).put(revisionEndFieldName, revision);
 
-            if (auditCfg.getAuditEntCfg().isRevisionEndTimestampEnabled()) {
-                // Determine the value of the revision property annotated with @RevisionTimestamp
-            	Date revisionEndTimestamp;
-            	String revEndTimestampFieldName = auditCfg.getAuditEntCfg().getRevisionEndTimestampFieldName();
-            	Object revEndTimestampObj = this.revisionTimestampGetter.get(revision);
-
-            	// convert to a java.util.Date
-            	if (revEndTimestampObj instanceof Date) {
-            		revisionEndTimestamp = (Date) revEndTimestampObj;
-            	} else {
-            		revisionEndTimestamp = new Date((Long) revEndTimestampObj);
-            	}
-
-            	// Setting the end revision timestamp
-            	((Map<String, Object>) previousData).put(revEndTimestampFieldName, revisionEndTimestamp);
-            }
-            
             // Saving the previous version
             session.save(auditedEntityName, previousData);
-
-        } else if(l.size() > 1) {
-            throw new RuntimeException("Cannot find previous revision for entity " + auditedEntityName + " and id " + id + " received " + l.size() + " rows back");
+        } else {
+            throw new RuntimeException("Cannot find previous revision for entity " + auditedEntityName + " and id " + id);
         }
     }
 }

Modified: core/trunk/envers/src/test/resources/testng.xml
===================================================================
--- core/trunk/envers/src/test/resources/testng.xml	2010-09-28 22:24:09 UTC (rev 20744)
+++ core/trunk/envers/src/test/resources/testng.xml	2010-09-28 23:50:53 UTC (rev 20745)
@@ -68,7 +68,6 @@
             <package name="org.hibernate.envers.test.integration.secondary" />
             <package name="org.hibernate.envers.test.integration.secondary.ids" />
             <package name="org.hibernate.envers.test.integration.serialization" />
-            <package name="org.hibernate.envers.test.integration.strategy" />
             <package name="org.hibernate.envers.test.integration.superclass" /> 
             <package name="org.hibernate.envers.test.integration.entityNames.auditedEntity" />
             <package name="org.hibernate.envers.test.integration.entityNames.manyToManyAudited" />



More information about the hibernate-commits mailing list