Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Commits List »

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

hibernate-commits

2008-10-31


Author LoginPost Reply
Author: adamw
Date: 2008-10-31 07:42:38 -0400 (Fri, 31 Oct 2008)
New Revision: 15459

Added:
 core/trunk/envers/src/main/java/org/hibernate/envers/AuditJoinTable.java
 core/trunk/envers/src/main/java/org/hibernate/envers/AuditReader.java
 core/trunk/envers/src/main/java/org/hibernate/envers/AuditReaderFactory.java
 core/trunk/envers/src/main/java/org/hibernate/envers/AuditTable.java
 core/trunk/envers/src/main/java/org/hibernate/envers/Audited.java
 core/trunk/envers/src/main/java/org/hibernate/envers/NotAudited.java
 core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTable.java
 core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTables.java
Removed:
 core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTable.java
 core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTables.java
 core/trunk/envers/src/main/java/org/hibernate/envers/Unversioned.java
 core/trunk/envers/src/main/java/org/hibernate/envers/Versioned.java
 core/trunk/envers/src/main/java/org/hibernate/envers/VersionsJoinTable.java
 core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReader.java
 core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReaderFactory.java
 core/trunk/envers/src/main/java/org/hibernate/envers/VersionsTable.java
Modified:
 core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java
 core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AnnotationsMetadataReader.java
 core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java
 core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/PersistentClassVersioningData.java
 core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/VersionsMetadataGenerator.java
 core/trunk/envers/src/main/java/org/hibernate/envers/reader/VersionsReaderImplementor.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntityTest.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/IntTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrIntTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/UnversionedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/EnumSetEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringListEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringMapEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringSetEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/components/ComponentTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/CompositeCustomTypeEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/ParametrizedCustomTypeEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/EmbIdTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/MulIdTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwnedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwningEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwnedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwningEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwnedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwningEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/ListUniEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/MapUniEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/SetUniEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/DoubleSetRefCollEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/ListRefCollEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/SetJoinColumnRefCollEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/SetRefCollEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/ids/SetRefCollEntityEmbId.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/ids/SetRefCollEntityMulId.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ids/SetRefEdEmbIdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ids/SetRefEdMulIdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ids/SetRefIngEmbIdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ids/SetRefIngMulIdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/basic/BasicTestEntity1.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/basic/BasicTestEntity2.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/basic/BasicTestEntity4.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/collection/mapkey/ComponentMapKeyEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/collection/mapkey/IdMapKeyEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/data/DateTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/data/EnumTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/data/LobTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/data/SerializableTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/ChildEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/ParentEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/childrelation/ChildIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/childrelation/ParentNotIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/childrelation/ReferencedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/relation/ChildIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/relation/ParentIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/inheritance/single/relation/ReferencedEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/manytomany/ternary/TernaryMapEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/DetachedNamingTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/JoinNamingRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/JoinNamingRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/NamingTestEntity1.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/VersionsJoinTableTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/ids/JoinEmbIdNamingRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/ids/JoinEmbIdNamingRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/ids/JoinMulIdNamingRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/naming/ids/JoinMulIdNamingRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/notinsertable/NotInsertableTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/RefEdMapKeyEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetomany/RefIngMapKeyEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/BiRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/BiRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/ids/BiEmbIdRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/ids/BiEmbIdRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/ids/BiMulIdRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/bidirectional/ids/BiMulIdRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/unidirectional/UniRefEdEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/onetoone/unidirectional/UniRefIngEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/properties/PropertiesTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/properties/UnversionedOptimisticLockingFieldEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/Custom.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/CustomBoxed.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/CustomPropertyAccess.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/Inherited.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/Listener.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/reventity/LongRevNumber.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/revfordate/RevisionForDate.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/sameids/SameIdTestEntity1.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/sameids/SameIdTestEntity2.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/secondary/SecondaryNamingTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/secondary/SecondaryTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/secondary/ids/SecondaryEmbIdTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/secondary/ids/SecondaryMulIdTestEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/superclass/SuperclassOfEntity.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/various/Address.java
 core/trunk/envers/src/test/java/org/hibernate/envers/test/various/Person.java
Log:
HHH-3570: renaming versioned to audited

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/AuditJoinTable.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/VersionsJoinTable.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/AuditJoinTable.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/AuditJoinTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.persistence.JoinColumn;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+@(protected))
+@(protected)})
+public @interface AuditJoinTable {
+   /**
+   * @return Name of the join table. Defaults to a concatenation of the names of the primary table of the entity
+   * owning the association and of the primary table of the entity referenced by the association.
+   */
+   String name() default "";
+
+   /**
+   * @return The schema of the join table. Defaults to the schema of the entity owning the association.
+   */
+   String schema() default "";
+
+   /**
+   * @return The catalog of the join table. Defaults to the catalog of the entity owning the association.
+   */
+   String catalog() default "";
+
+   /**
+   * @return The foreign key columns of the join table which reference the primary table of the entity that does not
+   * own the association (i.e. the inverse side of the association).
+   */
+   JoinColumn[] inverseJoinColumns() default {};
+}
\ No newline at end of file

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/AuditReader.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReader.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/AuditReader.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/AuditReader.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.util.Date;
+import java.util.List;
+
+import org.hibernate.envers.exception.NotVersionedException;
+import org.hibernate.envers.exception.RevisionDoesNotExistException;
+import org.hibernate.envers.query.VersionsQueryCreator;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+public interface AuditReader {
+   /**
+   * Find an entity by primary key at the given revision.
+   * @param cls Class of the entity.
+   * @param primaryKey Primary key of the entity.
+   * @param revision Revision in which to get the entity.
+   * @return The found entity instance at the given revision (its properties may be partially filled
+   * if not all properties are versioned) or null, if an entity with that id didn't exist at that
+   * revision.
+   * @throws IllegalArgumentException If cls or primaryKey is null or revision is less or equal to 0.
+   * @throws NotVersionedException When entities of the given class are not versioned.
+   * @throws IllegalStateException If the associated entity manager is closed.
+   */
+   <T> T find(Class<T> cls, Object primaryKey, Number revision) throws
+        IllegalArgumentException, NotVersionedException, IllegalStateException;
+
+   /**
+   * Get a list of revision numbers, at which an entity was modified.
+   * @param cls Class of the entity.
+   * @param primaryKey Primary key of the entity.
+   * @return A list of revision numbers, at which the entity was modified, sorted in ascending order (so older
+   * revisions come first).
+   * @throws NotVersionedException When entities of the given class are not versioned.
+   * @throws IllegalArgumentException If cls or primaryKey is null.
+   * @throws IllegalStateException If the associated entity manager is closed.
+   */
+   List<Number> getRevisions(Class<?> cls, Object primaryKey)
+        throws IllegalArgumentException, NotVersionedException, IllegalStateException;
+
+   /**
+   * Get the date, at which a revision was created.
+   * @param revision Number of the revision for which to get the date.
+   * @return Date of commiting the given revision.
+   * @throws IllegalArgumentException If revision is less or equal to 0.
+   * @throws RevisionDoesNotExistException If the revision does not exist.
+   * @throws IllegalStateException If the associated entity manager is closed.
+   */
+   Date getRevisionDate(Number revision) throws IllegalArgumentException, RevisionDoesNotExistException,
+        IllegalStateException;
+
+   /**
+   * Gets the revision number, that corresponds to the given date. More precisely, returns
+   * the number of the highest revision, which was created on or before the given date. So:
+   * <code>getRevisionDate(getRevisionNumberForDate(date)) <= date</code> and
+   * <code>getRevisionDate(getRevisionNumberForDate(date)+1) > date</code>.
+   * @param date Date for which to get the revision.
+   * @return Revision number corresponding to the given date.
+   * @throws IllegalStateException If the associated entity manager is closed.
+   * @throws RevisionDoesNotExistException If the given date is before the first revision.
+   * @throws IllegalArgumentException If <code>date</code> is <code>null</code>.
+   */
+   Number getRevisionNumberForDate(Date date) throws IllegalStateException, RevisionDoesNotExistException,
+        IllegalArgumentException;
+
+   /**
+   * A helper method; should be used only if a custom revision entity is used. See also {@(protected)}.
+   * @param revisionEntityClass Class of the revision entity. Should be annotated with {@(protected)}.
+   * @param revision Number of the revision for which to get the data.
+   * @return Entity containing data for the given revision.
+   * @throws IllegalArgumentException If revision is less or equal to 0 or if the class of the revision entity
+   * is invalid.
+   * @throws RevisionDoesNotExistException If the revision does not exist.
+   * @throws IllegalStateException If the associated entity manager is closed.
+   */
+   <T> T findRevision(Class<T> revisionEntityClass, Number revision) throws IllegalArgumentException,
+        RevisionDoesNotExistException, IllegalStateException;
+
+   /**
+   *
+   * @return A query creator, associated with this VersionsReader instance, with which queries can be
+   * created and later executed. Shouldn't be used after the associated Session or EntityManager
+   * is closed.
+   */
+   VersionsQueryCreator createQuery();
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/AuditReaderFactory.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReaderFactory.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/AuditReaderFactory.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/AuditReaderFactory.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import javax.persistence.EntityManager;
+
+import org.hibernate.envers.event.VersionsEventListener;
+import org.hibernate.envers.exception.VersionsException;
+import org.hibernate.envers.reader.VersionsReaderImpl;
+import static org.hibernate.envers.tools.ArraysTools.arrayIncludesInstanceOf;
+
+import org.hibernate.Session;
+import org.hibernate.engine.SessionImplementor;
+import org.hibernate.event.EventListeners;
+import org.hibernate.event.PostInsertEventListener;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+public class AuditReaderFactory {
+   private AuditReaderFactory() { }
+
+   /**
+   * Create a versions reader associated with an open session.
+   * <b>WARNING:</b> Using Envers with Hibernate (not with Hibernate Entity Manager/JPA) is experimental,
+   * if possible, use {@(protected))}.
+   * @param session An open session.
+   * @return A versions reader associated with the given sesison. It shouldn't be used
+   * after the session is closed.
+   * @throws VersionsException When the given required listeners aren't installed.
+   */
+   public static AuditReader get(Session session) throws VersionsException {
+     SessionImplementor sessionImpl = (SessionImplementor) session;
+
+     EventListeners listeners = sessionImpl.getListeners();
+
+     for (PostInsertEventListener listener : listeners.getPostInsertEventListeners()) {
+        if (listener instanceof VersionsEventListener) {
+           if (arrayIncludesInstanceOf(listeners.getPostUpdateEventListeners(), VersionsEventListener.class) &&
+                arrayIncludesInstanceOf(listeners.getPostDeleteEventListeners(), VersionsEventListener.class)) {
+             return new VersionsReaderImpl(((VersionsEventListener) listener).getVerCfg(), session,
+                   sessionImpl);
+           }
+        }
+     }
+
+     throw new VersionsException("You need install the org.hibernate.envers.event.VersionsEventListener " +
+           "class as post insert, update and delete event listener.");
+   }
+
+   /**
+   * Create a versions reader associated with an open entity manager.
+   * @param entityManager An open entity manager.
+   * @return A versions reader associated with the given entity manager. It shouldn't be used
+   * after the entity manager is closed.
+   * @throws VersionsException When the given entity manager is not based on Hibernate, or if the required
+   * listeners aren't installed.
+   */
+   public static AuditReader get(EntityManager entityManager) throws VersionsException {
+     if (entityManager.getDelegate() instanceof Session) {
+        return get((Session) entityManager.getDelegate());
+     }
+
+     if (entityManager.getDelegate() instanceof EntityManager) {
+        if (entityManager.getDelegate() instanceof Session) {
+           return get((Session) entityManager.getDelegate());
+        }
+     }
+
+     throw new VersionsException("Hibernate EntityManager not present!");
+   }
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/AuditTable.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/VersionsTable.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/AuditTable.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/AuditTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+@(protected))
+@(protected))
+public @interface AuditTable {
+   String value();
+
+   /**
+   * @return The schema of the table. Defaults to the schema of the annotated entity.
+   */
+   String schema() default "";
+
+   /**
+   * @return The catalog of the table. Defaults to the catalog of the annotated entity.
+   */
+   String catalog() default "";
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/Audited.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/Versioned.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/Audited.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/Audited.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * When applied to a class, indicates that all of its properties should be versioned.
+ * When applied to a field, indicates that this field should be versioned.
+ * @author Adam Warski (adam at warski dot org)
+ */
+@(protected))
+@(protected)})
+public @interface Audited {
+   ModificationStore modStore()   default ModificationStore.FULL;
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/NotAudited.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/Unversioned.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/NotAudited.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/NotAudited.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * When applied to a field, indicates that this field should not be versioned.
+ * @author Sebastian Komander
+ */
+@(protected))
+@(protected)})
+public @interface NotAudited {
+
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTable.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTable.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTable.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+@(protected))
+@(protected))
+public @interface SecondaryAuditTable {
+   String secondaryTableName();
+
+   String secondaryVersionsTableName();
+}

Copied: core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTables.java (from rev 15455, core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTables.java)
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTables.java                  (rev 0)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryAuditTables.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.envers;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+@(protected))
+@(protected))
+public @interface SecondaryAuditTables {
+   SecondaryAuditTable[] value();
+}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTable.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTable.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-@(protected))
-@(protected))
-public @interface SecondaryVersionsTable {
-   String secondaryTableName();
-
-   String secondaryVersionsTableName();
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTables.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTables.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/SecondaryVersionsTables.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-@(protected))
-@(protected))
-public @interface SecondaryVersionsTables {
-   SecondaryVersionsTable[] value();
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/Unversioned.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/Unversioned.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/Unversioned.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * When applied to a field, indicates that this field should not be versioned.
- * @author Sebastian Komander
- */
-@(protected))
-@(protected)})
-public @interface Unversioned {
-
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/Versioned.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/Versioned.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/Versioned.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * When applied to a class, indicates that all of its properties should be versioned.
- * When applied to a field, indicates that this field should be versioned.
- * @author Adam Warski (adam at warski dot org)
- */
-@(protected))
-@(protected)})
-public @interface Versioned {
-   ModificationStore modStore()   default ModificationStore.FULL;
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/VersionsJoinTable.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/VersionsJoinTable.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/VersionsJoinTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import javax.persistence.JoinColumn;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-@(protected))
-@(protected)})
-public @interface VersionsJoinTable {
-   /**
-   * @return Name of the join table. Defaults to a concatenation of the names of the primary table of the entity
-   * owning the association and of the primary table of the entity referenced by the association.
-   */
-   String name() default "";
-
-   /**
-   * @return The schema of the join table. Defaults to the schema of the entity owning the association.
-   */
-   String schema() default "";
-
-   /**
-   * @return The catalog of the join table. Defaults to the catalog of the entity owning the association.
-   */
-   String catalog() default "";
-
-   /**
-   * @return The foreign key columns of the join table which reference the primary table of the entity that does not
-   * own the association (i.e. the inverse side of the association).
-   */
-   JoinColumn[] inverseJoinColumns() default {};
-}
\ No newline at end of file

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReader.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReader.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReader.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.util.Date;
-import java.util.List;
-
-import org.hibernate.envers.exception.NotVersionedException;
-import org.hibernate.envers.exception.RevisionDoesNotExistException;
-import org.hibernate.envers.query.VersionsQueryCreator;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-public interface VersionsReader {
-   /**
-   * Find an entity by primary key at the given revision.
-   * @param cls Class of the entity.
-   * @param primaryKey Primary key of the entity.
-   * @param revision Revision in which to get the entity.
-   * @return The found entity instance at the given revision (its properties may be partially filled
-   * if not all properties are versioned) or null, if an entity with that id didn't exist at that
-   * revision.
-   * @throws IllegalArgumentException If cls or primaryKey is null or revision is less or equal to 0.
-   * @throws NotVersionedException When entities of the given class are not versioned.
-   * @throws IllegalStateException If the associated entity manager is closed.
-   */
-   <T> T find(Class<T> cls, Object primaryKey, Number revision) throws
-        IllegalArgumentException, NotVersionedException, IllegalStateException;
-
-   /**
-   * Get a list of revision numbers, at which an entity was modified.
-   * @param cls Class of the entity.
-   * @param primaryKey Primary key of the entity.
-   * @return A list of revision numbers, at which the entity was modified, sorted in ascending order (so older
-   * revisions come first).
-   * @throws NotVersionedException When entities of the given class are not versioned.
-   * @throws IllegalArgumentException If cls or primaryKey is null.
-   * @throws IllegalStateException If the associated entity manager is closed.
-   */
-   List<Number> getRevisions(Class<?> cls, Object primaryKey)
-        throws IllegalArgumentException, NotVersionedException, IllegalStateException;
-
-   /**
-   * Get the date, at which a revision was created.
-   * @param revision Number of the revision for which to get the date.
-   * @return Date of commiting the given revision.
-   * @throws IllegalArgumentException If revision is less or equal to 0.
-   * @throws RevisionDoesNotExistException If the revision does not exist.
-   * @throws IllegalStateException If the associated entity manager is closed.
-   */
-   Date getRevisionDate(Number revision) throws IllegalArgumentException, RevisionDoesNotExistException,
-        IllegalStateException;
-
-   /**
-   * Gets the revision number, that corresponds to the given date. More precisely, returns
-   * the number of the highest revision, which was created on or before the given date. So:
-   * <code>getRevisionDate(getRevisionNumberForDate(date)) <= date</code> and
-   * <code>getRevisionDate(getRevisionNumberForDate(date)+1) > date</code>.
-   * @param date Date for which to get the revision.
-   * @return Revision number corresponding to the given date.
-   * @throws IllegalStateException If the associated entity manager is closed.
-   * @throws RevisionDoesNotExistException If the given date is before the first revision.
-   * @throws IllegalArgumentException If <code>date</code> is <code>null</code>.
-   */
-   Number getRevisionNumberForDate(Date date) throws IllegalStateException, RevisionDoesNotExistException,
-        IllegalArgumentException;
-
-   /**
-   * A helper method; should be used only if a custom revision entity is used. See also {@(protected)}.
-   * @param revisionEntityClass Class of the revision entity. Should be annotated with {@(protected)}.
-   * @param revision Number of the revision for which to get the data.
-   * @return Entity containing data for the given revision.
-   * @throws IllegalArgumentException If revision is less or equal to 0 or if the class of the revision entity
-   * is invalid.
-   * @throws RevisionDoesNotExistException If the revision does not exist.
-   * @throws IllegalStateException If the associated entity manager is closed.
-   */
-   <T> T findRevision(Class<T> revisionEntityClass, Number revision) throws IllegalArgumentException,
-        RevisionDoesNotExistException, IllegalStateException;
-
-   /**
-   *
-   * @return A query creator, associated with this VersionsReader instance, with which queries can be
-   * created and later executed. Shouldn't be used after the associated Session or EntityManager
-   * is closed.
-   */
-   VersionsQueryCreator createQuery();
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReaderFactory.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReaderFactory.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/VersionsReaderFactory.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import javax.persistence.EntityManager;
-
-import org.hibernate.envers.event.VersionsEventListener;
-import org.hibernate.envers.exception.VersionsException;
-import org.hibernate.envers.reader.VersionsReaderImpl;
-import static org.hibernate.envers.tools.ArraysTools.arrayIncludesInstanceOf;
-
-import org.hibernate.Session;
-import org.hibernate.engine.SessionImplementor;
-import org.hibernate.event.EventListeners;
-import org.hibernate.event.PostInsertEventListener;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-public class VersionsReaderFactory {
-   private VersionsReaderFactory() { }
-
-   /**
-   * Create a versions reader associated with an open session.
-   * <b>WARNING:</b> Using Envers with Hibernate (not with Hibernate Entity Manager/JPA) is experimental,
-   * if possible, use {@(protected))}.
-   * @param session An open session.
-   * @return A versions reader associated with the given sesison. It shouldn't be used
-   * after the session is closed.
-   * @throws VersionsException When the given required listeners aren't installed.
-   */
-   public static VersionsReader get(Session session) throws VersionsException {
-     SessionImplementor sessionImpl = (SessionImplementor) session;
-
-     EventListeners listeners = sessionImpl.getListeners();
-
-     for (PostInsertEventListener listener : listeners.getPostInsertEventListeners()) {
-        if (listener instanceof VersionsEventListener) {
-           if (arrayIncludesInstanceOf(listeners.getPostUpdateEventListeners(), VersionsEventListener.class) &&
-                arrayIncludesInstanceOf(listeners.getPostDeleteEventListeners(), VersionsEventListener.class)) {
-             return new VersionsReaderImpl(((VersionsEventListener) listener).getVerCfg(), session,
-                   sessionImpl);
-           }
-        }
-     }
-
-     throw new VersionsException("You need install the org.hibernate.envers.event.VersionsEventListener " +
-           "class as post insert, update and delete event listener.");
-   }
-
-   /**
-   * Create a versions reader associated with an open entity manager.
-   * @param entityManager An open entity manager.
-   * @return A versions reader associated with the given entity manager. It shouldn't be used
-   * after the entity manager is closed.
-   * @throws VersionsException When the given entity manager is not based on Hibernate, or if the required
-   * listeners aren't installed.
-   */
-   public static VersionsReader get(EntityManager entityManager) throws VersionsException {
-     if (entityManager.getDelegate() instanceof Session) {
-        return get((Session) entityManager.getDelegate());
-     }
-
-     if (entityManager.getDelegate() instanceof EntityManager) {
-        if (entityManager.getDelegate() instanceof Session) {
-           return get((Session) entityManager.getDelegate());
-        }
-     }
-
-     throw new VersionsException("Hibernate EntityManager not present!");
-   }
-}

Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/VersionsTable.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/VersionsTable.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/VersionsTable.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
-/*
- * Hibernate, Relational Persistence for Idiomatic Java
- *
- * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
- * indicated by the @author tags or express copyright attribution
- * statements applied by the authors. All third-party contributions are
- * distributed under license by Red Hat Middleware LLC.
- *
- * This copyrighted material is made available to anyone wishing to use, modify,
- * copy, or redistribute it subject to the terms and conditions of the GNU
- * Lesser General Public License, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution; if not, write to:
- * Free Software Foundation, Inc.
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301 USA
- */
-package org.hibernate.envers;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
-@(protected))
-@(protected))
-public @interface VersionsTable {
-   String value();
-
-   /**
-   * @return The schema of the table. Defaults to the schema of the annotated entity.
-   */
-   String schema() default "";
-
-   /**
-   * @return The catalog of the table. Defaults to the catalog of the annotated entity.
-   */
-   String catalog() default "";
-}

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  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/RevisionInfoConfiguration.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
-import org.hibernate.envers.DefaultRevisionEntity;
-import org.hibernate.envers.RevisionEntity;
-import org.hibernate.envers.RevisionListener;
-import org.hibernate.envers.RevisionNumber;
-import org.hibernate.envers.RevisionTimestamp;
-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;
+import org.hibernate.envers.*;
import org.hibernate.envers.configuration.metadata.MetadataTools;
import org.hibernate.envers.revisioninfo.DefaultRevisionInfoGenerator;
import org.hibernate.envers.revisioninfo.RevisionInfoGenerator;
@@(protected) @@
          }

          // Checking if custom revision entity isn't versioned
-           if (clazz.getAnnotation(Versioned.class) != null) {
+           if (clazz.getAnnotation(Audited.class) != null) {
             throw new MappingException("An entity annotated with @RevisionEntity cannot be versioned!");
          }


Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AnnotationsMetadataReader.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AnnotationsMetadataReader.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/AnnotationsMetadataReader.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.MapKey;
import javax.persistence.Version;

-import org.hibernate.envers.SecondaryVersionsTable;
-import org.hibernate.envers.SecondaryVersionsTables;
-import org.hibernate.envers.Unversioned;
-import org.hibernate.envers.Versioned;
-import org.hibernate.envers.VersionsJoinTable;
-import org.hibernate.envers.VersionsTable;
+import org.hibernate.envers.SecondaryAuditTable;
+import org.hibernate.envers.*;
import org.hibernate.envers.configuration.GlobalConfiguration;
import org.hibernate.envers.tools.reflection.YClass;
import org.hibernate.envers.tools.reflection.YProperty;
@@(protected) @@
  }

  private void addPropertyVersioned(YProperty property) {
-     Versioned ver = property.getAnnotation(Versioned.class);
+     Audited ver = property.getAnnotation(Audited.class);
     if (ver != null) {
        versioningData.propertyStoreInfo.propertyStores.put(property.getName(), ver.modStore());
     }
@@(protected) @@
  private void addPropertyUnversioned(YProperty property) {
     // check if a property is declared as unversioned to exclude it
     // useful if a class is versioned but some properties should be excluded
-     Unversioned unVer = property.getAnnotation(Unversioned.class);
+     NotAudited unVer = property.getAnnotation(NotAudited.class);
     if (unVer != null) {
        versioningData.unversionedProperties.add(property.getName());
     } else {
@@(protected) @@
  }

  private void addPropertyJoinTables(YProperty property) {
-     VersionsJoinTable joinTable = property.getAnnotation(VersionsJoinTable.class);
+     AuditJoinTable joinTable = property.getAnnotation(AuditJoinTable.class);
     if (joinTable != null) {
        versioningData.versionsJoinTables.put(property.getName(), joinTable);
     }
@@(protected) @@
  }

  private void addDefaultVersioned(YClass clazz) {
-     Versioned defaultVersioned = clazz.getAnnotation(Versioned.class);
+     Audited defaultVersioned = clazz.getAnnotation(Audited.class);

     if (defaultVersioned != null) {
        versioningData.propertyStoreInfo.defaultStore = defaultVersioned.modStore();
@@(protected) @@
  }

  private void addVersionsTable(YClass clazz) {
-     VersionsTable versionsTable = clazz.getAnnotation(VersionsTable.class);
+     AuditTable versionsTable = clazz.getAnnotation(AuditTable.class);
     if (versionsTable != null) {
        versioningData.versionsTable = versionsTable;
     } else {
@@(protected) @@

  private void addVersionsSecondaryTables(YClass clazz) {
     // Getting information on secondary tables
-     SecondaryVersionsTable secondaryVersionsTable1 = clazz.getAnnotation(SecondaryVersionsTable.class);
+     SecondaryAuditTable secondaryVersionsTable1 = clazz.getAnnotation(SecondaryAuditTable.class);
     if (secondaryVersionsTable1 != null) {
        versioningData.secondaryTableDictionary.put(secondaryVersionsTable1.secondaryTableName(),
             secondaryVersionsTable1.secondaryVersionsTableName());
     }

-     SecondaryVersionsTables secondaryVersionsTables = clazz.getAnnotation(SecondaryVersionsTables.class);
+     SecondaryAuditTables secondaryVersionsTables = clazz.getAnnotation(SecondaryAuditTables.class);
     if (secondaryVersionsTables != null) {
-        for (SecondaryVersionsTable secondaryVersionsTable2 : secondaryVersionsTables.value()) {
+        for (SecondaryAuditTable secondaryVersionsTable2 : secondaryVersionsTables.value()) {
          versioningData.secondaryTableDictionary.put(secondaryVersionsTable2.secondaryTableName(),
                secondaryVersionsTable2.secondaryVersionsTableName());
        }
@@(protected) @@
     return versioningData;
  }

-   private VersionsTable getDefaultVersionsTable() {
-     return new VersionsTable() {
+   private AuditTable getDefaultVersionsTable() {
+     return new AuditTable() {
        public String value() { return ""; }
        public String schema() { return ""; }
        public String catalog() { return ""; }

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/CollectionMetadataGenerator.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@

import org.dom4j.Element;
import org.hibernate.envers.ModificationStore;
-import org.hibernate.envers.VersionsJoinTable;
+import org.hibernate.envers.AuditJoinTable;
import org.hibernate.envers.entities.EntityConfiguration;
import org.hibernate.envers.entities.IdMappingData;
import org.hibernate.envers.entities.mapper.CompositeMapperBuilder;
@@(protected) @@
  private final CompositeMapperBuilder currentMapper;
  private final String referencingEntityName;
  private final EntityXmlMappingData xmlMappingData;
-   private final VersionsJoinTable joinTable;
+   private final AuditJoinTable joinTable;
  private final String mapKey;

  private final EntityConfiguration referencingEntityConfiguration;
@@(protected) @@
  public CollectionMetadataGenerator(VersionsMetadataGenerator mainGenerator, String propertyName,
                          Collection propertyValue, CompositeMapperBuilder currentMapper,
                          String referencingEntityName, EntityXmlMappingData xmlMappingData,
-                          VersionsJoinTable joinTable, String mapKey) {
+                          AuditJoinTable joinTable, String mapKey) {
     this.mainGenerator = mainGenerator;
     this.propertyName = propertyName;
     this.propertyValue = propertyValue;
@@(protected) @@
     return middleEntityXmlId;
  }

-   private VersionsJoinTable getDefaultVersionsJoinTable() {
-     return new VersionsJoinTable() {
+   private AuditJoinTable getDefaultVersionsJoinTable() {
+     return new AuditJoinTable() {
        public String name() { return ""; }
        public String schema() { return ""; }
        public String catalog() { return ""; }

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/PersistentClassVersioningData.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/PersistentClassVersioningData.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/PersistentClassVersioningData.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import java.util.Map;

import org.hibernate.envers.ModificationStore;
-import org.hibernate.envers.VersionsJoinTable;
-import org.hibernate.envers.VersionsTable;
+import org.hibernate.envers.AuditJoinTable;
+import org.hibernate.envers.AuditTable;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
     propertyStoreInfo = new PropertyStoreInfo(new HashMap<String, ModificationStore>());
     secondaryTableDictionary = new HashMap<String, String>();
     unversionedProperties = new ArrayList<String>();
-     versionsJoinTables = new HashMap<String, VersionsJoinTable>();
+     versionsJoinTables = new HashMap<String, AuditJoinTable>();
     mapKeys = new HashMap<String, String>();
  }

  public PropertyStoreInfo propertyStoreInfo;
-   public VersionsTable versionsTable;
+   public AuditTable versionsTable;
  public Map<String, String> secondaryTableDictionary;
  public List<String> unversionedProperties;
  /**
   * A map from property names to custom join tables definitions.
   */
-   public Map<String, VersionsJoinTable> versionsJoinTables;
+   public Map<String, AuditJoinTable> versionsJoinTables;
  /**
   * A map from property names to the value of the related property names in a map key annotation. An empty string,
   * if the property name is not specified in the mapkey annotation.

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/VersionsMetadataGenerator.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/VersionsMetadataGenerator.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/VersionsMetadataGenerator.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@

import org.dom4j.Element;
import org.hibernate.envers.ModificationStore;
-import org.hibernate.envers.VersionsJoinTable;
+import org.hibernate.envers.AuditJoinTable;
import org.hibernate.envers.configuration.GlobalConfiguration;
import org.hibernate.envers.configuration.VersionsEntitiesConfiguration;
import org.hibernate.envers.entities.EntityConfiguration;
@@(protected) @@
  @SuppressWarnings({"unchecked"})
  void addValue(Element parent, String name, Value value, CompositeMapperBuilder currentMapper,
            ModificationStore store, String entityName, EntityXmlMappingData xmlMappingData,
-            VersionsJoinTable joinTable, String mapKey, boolean insertable, boolean firstPass) {
+            AuditJoinTable joinTable, String mapKey, boolean insertable, boolean firstPass) {
     Type type = value.getType();

     // only first pass

Modified: core/trunk/envers/src/main/java/org/hibernate/envers/reader/VersionsReaderImplementor.java
===================================================================
--- core/trunk/envers/src/main/java/org/hibernate/envers/reader/VersionsReaderImplementor.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/main/java/org/hibernate/envers/reader/VersionsReaderImplementor.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
*/
package org.hibernate.envers.reader;

-import org.hibernate.envers.VersionsReader;
+import org.hibernate.envers.AuditReader;

import org.hibernate.Session;
import org.hibernate.engine.SessionImplementor;
@@(protected) @@
* An interface exposed by a VersionsReader to library-facing classes.
* @author Adam Warski (adam at warski dot org)
*/
-public interface VersionsReaderImplementor extends VersionsReader {
+public interface VersionsReaderImplementor extends AuditReader {
  SessionImplementor getSessionImplementor();
  Session getSession();
  FirstLevelCache getFirstLevelCache();

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntityTest.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntityTest.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntityTest.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;

-import org.hibernate.envers.VersionsReader;
-import org.hibernate.envers.VersionsReaderFactory;
+import org.hibernate.envers.AuditReader;
+import org.hibernate.envers.AuditReaderFactory;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;

@@(protected) @@
public abstract class AbstractEntityTest {
  private EntityManagerFactory emf;
  private EntityManager entityManager;
-   private VersionsReader versionsReader;
+   private AuditReader versionsReader;
  private Ejb3Configuration cfg;

  public abstract void configure(Ejb3Configuration cfg);
@@(protected) @@
     }
     
     entityManager = emf.createEntityManager();
-     versionsReader = VersionsReaderFactory.get(entityManager);
+     versionsReader = AuditReaderFactory.get(entityManager);
  }

  @BeforeClass
@@(protected) @@
     return entityManager;
  }

-   public VersionsReader getVersionsReader() {
+   public AuditReader getVersionsReader() {
     return versionsReader;
  }


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/IntTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/IntTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/IntTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  private Integer number;

  public IntTestEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrIntTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrIntTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrIntTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  private String str1;

-   @Versioned
+   @Audited
  private Integer number;

  public StrIntTestEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/StrTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  private String str;

  public StrTestEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/UnversionedEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/UnversionedEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/UnversionedEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Unversioned;
-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.NotAudited;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
*/
@Entity
-@(protected)
+@(protected)
public class UnversionedEntity {
  @Id
  @GeneratedValue
@@(protected) @@
  private String data1;

  @Basic
-   @Unversioned
+   @NotAudited
  private String data2;

  public UnversionedEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/EnumSetEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/EnumSetEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/EnumSetEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.CollectionOfElements;

@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @CollectionOfElements
  @Enumerated(EnumType.STRING)
  private Set<E1> enums1;

-   @Versioned
+   @Audited
  @CollectionOfElements
  @Enumerated(EnumType.ORDINAL)
  private Set<E2> enums2;

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringListEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringListEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringListEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.CollectionOfElements;
import org.hibernate.annotations.IndexColumn;
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @CollectionOfElements
  @IndexColumn(name = "list_index")
  private List<String> strings;

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringMapEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringMapEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringMapEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.CollectionOfElements;

@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @CollectionOfElements
  private Map<String, String> strings;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringSetEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringSetEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/collection/StringSetEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.CollectionOfElements;

@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @CollectionOfElements
  private Set<String> strings;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/components/ComponentTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/components/ComponentTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/components/ComponentTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  private Integer id;

  @Embedded
-   @Versioned
+   @Audited
  private Component1 comp1;

  @Embedded

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/CompositeCustomTypeEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/CompositeCustomTypeEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/CompositeCustomTypeEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.Columns;
import org.hibernate.annotations.Type;
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @Type(type = "comp")
  @Columns(columns = { @Column(name = "str"), @Column(name = "num") })
  private Component component;

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/ParametrizedCustomTypeEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/ParametrizedCustomTypeEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/customtype/ParametrizedCustomTypeEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

import org.hibernate.annotations.Parameter;
import org.hibernate.annotations.Type;
@@(protected) @@
  @GeneratedValue
  private Integer id;

-   @Versioned
+   @Audited
  @Type(type = "param")
  private String str;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/EmbIdTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/EmbIdTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/EmbIdTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  @EmbeddedId
  private EmbId id;

-   @Versioned
+   @Audited
  private String str1;

  public EmbIdTestEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/MulIdTestEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/MulIdTestEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/ids/MulIdTestEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.IdClass;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* @author Adam Warski (adam at warski dot org)
@@(protected) @@
  @Id
  private Integer id2;

-   @Versioned
+   @Audited
  private String str1;

  public MulIdTestEntity() {

Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwnedEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwnedEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwnedEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Many-to-many not-owning entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany(mappedBy="references")
  private List<ListOwningEntity> referencing;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwningEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwningEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/ListOwningEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Entity owning the many-to-many relation
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private List<ListOwnedEntity> references;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwnedEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwnedEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwnedEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Many-to-many not-owning entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany(mappedBy="references")
  private Set<MapOwningEntity> referencing;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwningEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwningEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/MapOwningEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Entity owning the many-to-many relation
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private Map<String, MapOwnedEntity> references = new HashMap<String, MapOwnedEntity>();


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwnedEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwnedEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwnedEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Many-to-many not-owning entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany(mappedBy="references")
  private Set<SetOwningEntity> referencing;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwningEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwningEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/SetOwningEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* Entity owning the many-to-many relation
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private Set<SetOwnedEntity> references;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/ListUniEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/ListUniEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/ListUniEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;
import org.hibernate.envers.test.entities.StrTestEntity;

/**
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private List<StrTestEntity> references;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/MapUniEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/MapUniEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/MapUniEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;
import org.hibernate.envers.test.entities.StrTestEntity;

/**
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private Map<String, StrTestEntity> map;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/SetUniEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/SetUniEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/manytomany/unidirectional/SetUniEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;
import org.hibernate.envers.test.entities.StrTestEntity;

/**
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToMany
  private Set<StrTestEntity> references;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefEdEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefEdEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefEdEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.OneToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencEd entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @OneToMany(mappedBy="reference")
  private Collection<CollectionRefIngEntity> reffering;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefIngEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefIngEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/CollectionRefIngEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToOne;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencIng entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToOne
  private CollectionRefEdEntity reference;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefEdEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefEdEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefEdEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.OneToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencEd entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @OneToMany(mappedBy="reference")
  private List<ListRefIngEntity> reffering;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefIngEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefIngEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/ListRefIngEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToOne;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencIng entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToOne
  private ListRefEdEntity reference;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefEdEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefEdEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefEdEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.OneToMany;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencEd entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @OneToMany(mappedBy="reference")
  private Set<SetRefIngEntity> reffering;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefIngEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefIngEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/SetRefIngEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.Id;
import javax.persistence.ManyToOne;

-import org.hibernate.envers.Versioned;
+import org.hibernate.envers.Audited;

/**
* ReferencIng entity
@@(protected) @@
  @Id
  private Integer id;

-   @Versioned
+   @Audited
  private String data;

-   @Versioned
+   @Audited
  @ManyToOne
  private SetRefEdEntity reference;


Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/DoubleSetRefCollEntity.java
===================================================================
--- core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/DoubleSetRefCollEntity.java  2008-10-31 10:59:37 UTC (rev 15458)
+++ core/trunk/envers/src/test/java/org/hibernate/envers/test/entities/onetomany/detached/DoubleSetRefCollEntity.java  2008-10-31 11:42:38 UTC (rev 15459)
@@(protected) @@
import javax.persistence.JoinTable;
import