Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection In directory sc8-pr-cvs1:/tmp/cvs-serv21330/sf/hibernate/collection Modified Files: ArrayHolder.java Bag.java List.java Map.java PersistentCollection.java Set.java Log Message: detect collection modifications not made via wrapper Index: ArrayHolder.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/ArrayHolder.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ArrayHolder.java 19 Feb 2003 01:51:30 -0000 1.9 --- ArrayHolder.java 6 Mar 2003 11:12:08 -0000 1.10 *************** *** 166,170 **** } ! public boolean isArrayHolder() { return true; } --- 166,170 ---- } ! public boolean isDirectlyAccessible() { return true; } Index: Bag.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/Bag.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Bag.java 19 Feb 2003 01:51:30 -0000 1.8 --- Bag.java 6 Mar 2003 11:12:09 -0000 1.9 *************** *** 42,45 **** --- 42,46 ---- } initialized = true; + directlyAccessible = true; } Index: List.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/List.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** List.java 19 Feb 2003 01:51:30 -0000 1.9 --- List.java 6 Mar 2003 11:12:10 -0000 1.10 *************** *** 54,57 **** --- 54,58 ---- this.list = list; initialized = true; + directlyAccessible = true; } public void beforeInitialize(CollectionPersister persister) { Index: Map.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/Map.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Map.java 19 Feb 2003 01:51:30 -0000 1.9 --- Map.java 6 Mar 2003 11:12:11 -0000 1.10 *************** *** 59,62 **** --- 59,63 ---- this.map = map; initialized = true; + directlyAccessible = true; } Index: PersistentCollection.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/PersistentCollection.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PersistentCollection.java 19 Feb 2003 01:51:30 -0000 1.8 --- PersistentCollection.java 6 Mar 2003 11:12:11 -0000 1.9 *************** *** 49,52 **** --- 49,53 ---- private transient List additions; private CollectionSnapshot collectionSnapshot; + protected transient boolean directlyAccessible; //Careful: these methods do not initialize the collection. *************** *** 158,163 **** } ! public boolean isArrayHolder() { ! return false; } --- 159,164 ---- } ! public boolean isDirectlyAccessible() { ! return directlyAccessible; } Index: Set.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/Set.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Set.java 19 Feb 2003 01:51:30 -0000 1.8 --- Set.java 6 Mar 2003 11:12:12 -0000 1.9 *************** *** 69,72 **** --- 69,73 ---- this.set = set; initialized = true; + directlyAccessible = true; } public Set(SessionImplementor session, CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException, SQLException { |