Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection
In directory sc8-pr-cvs1:/tmp/cvs-serv32602/sf/hibernate/collection
Modified Files:
CollectionPersister.java SortedMap.java SortedSet.java
Log Message:
fixed a bug wrapping sorted collections
don't ever update mutable=false objects
added where attribute to collection mappings
Index: CollectionPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/CollectionPersister.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** CollectionPersister.java 9 Feb 2003 07:41:15 -0000 1.10
--- CollectionPersister.java 15 Feb 2003 01:00:51 -0000 1.11
***************
*** 6,9 ****
--- 6,10 ----
import java.sql.ResultSet;
import java.sql.SQLException;
+ import java.util.HashSet;
import java.util.Iterator;
import java.util.StringTokenizer;
***************
*** 56,60 ****
--- 57,63 ----
private final String sqlDeleteRowString;
private final String sqlOrderByString;
+ private final String sqlWhereString;
private final boolean hasOrder;
+ private final boolean hasWhere;
private final boolean isSet;
private final Type keyType;
***************
*** 95,100 ****
ownerClass = collection.getOwnerClass();
! hasOrder = collection.getOrderByString()!=null;
! sqlOrderByString = collection.getOrderByString();
cache=collection.getCache();
--- 98,105 ----
ownerClass = collection.getOwnerClass();
! sqlOrderByString = collection.getOrderBy();
! hasOrder = sqlOrderByString!=null;
! sqlWhereString = collection.getWhere();
! hasWhere = sqlWhereString!=null;
cache=collection.getCache();
***************
*** 236,241 ****
}
! public String getSQLOrderByString() {
! return sqlOrderByString;
}
--- 241,268 ----
}
! public String getSQLWhereString(String alias) {
! StringTokenizer tokens = new StringTokenizer(sqlWhereString, " =><!", true);
! StringBuffer result = new StringBuffer();
! while ( tokens.hasMoreTokens() ) {
! String token = tokens.nextToken();
! if ( Character.isLetter( token.charAt(0) ) && !keywords.contains(token) ) {
! //TODO: handle and, or, not
! result.append(alias).append(StringHelper.DOT).append(token);
! }
! else {
! result.append(token);
! }
! }
! return result.toString();
! }
!
! private static final java.util.Set keywords = new HashSet();
! static {
! keywords.add("and");
! keywords.add("or");
! keywords.add("not");
! keywords.add("like");
! keywords.add("is");
! keywords.add("null");
}
***************
*** 256,259 ****
--- 283,290 ----
public boolean hasOrdering() {
return hasOrder;
+ }
+
+ public boolean hasWhere() {
+ return hasWhere;
}
Index: SortedMap.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/SortedMap.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SortedMap.java 9 Feb 2003 07:41:15 -0000 1.6
--- SortedMap.java 15 Feb 2003 01:00:51 -0000 1.7
***************
*** 67,70 ****
--- 67,71 ----
public SortedMap(SessionImplementor session, java.util.SortedMap map) {
super(session, map);
+ comparator = map.comparator();
}
Index: SortedSet.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/SortedSet.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SortedSet.java 9 Feb 2003 07:41:15 -0000 1.6
--- SortedSet.java 15 Feb 2003 01:00:51 -0000 1.7
***************
*** 46,49 ****
--- 46,50 ----
public SortedSet(SessionImplementor session, java.util.SortedSet set) {
super(session, set);
+ comparator = set.comparator();
}
|