Changeset 452
- Timestamp:
- 05/05/06 10:00:27
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/calendar3/calCore/src/org/bedework/calcore/hibernate/Events.java
r445 r452 629 629 sb.append(" ("); 630 630 631 CalTerm calTerm = new CalTerm(); 632 631 633 boolean setUser = doCalendarClause(sb, qevName, calendar, 632 634 currentMode, cal.getSuperUser(), 633 allCalendars); 635 calTerm, allCalendars); 636 if (calTerm.empty) { 637 // No valid calendars to search. 638 return new TreeSet(); 639 } 634 640 635 641 sb.append(") "); … … 928 934 sb.append(" ("); 929 935 936 CalTerm calTerm = new CalTerm(); 937 930 938 boolean setUser = doCalendarClause(sb, qevName + ".master", calendar, 931 939 currentMode, ignoreCreator, 932 allCalendars); 940 calTerm, allCalendars); 941 942 if (calTerm.empty) { 943 // This shouldn't happen - we checked previously 944 throw new CalFacadeException("No valid calendars."); 945 } 933 946 934 947 sb.append(") "); … … 1000 1013 } 1001 1014 1015 /* Used when building calendar clauses. 1016 */ 1002 1017 private class CalTerm { 1018 boolean empty = true; 1003 1019 int i = 1; 1004 1020 } … … 1008 1024 private boolean doCalendarClause(StringBuffer sb, String qevName, BwCalendar calendar, 1009 1025 int currentMode, boolean ignoreCreator, 1026 CalTerm calTerm, 1010 1027 boolean allCalendars) throws CalFacadeException { 1011 1028 /* if no calendar set … … 1016 1033 */ 1017 1034 if (calendar == null) { 1035 // Doesn't count as empty 1036 calTerm.empty = false; 1018 1037 return CalintfUtil.appendPublicOrCreatorTerm(sb, qevName, 1019 1038 currentMode, ignoreCreator); … … 1026 1045 sb.append(".calendar=:calendar"); 1027 1046 sb.append(") "); 1047 calTerm.empty = false; 1028 1048 return false; 1029 1049 } … … 1031 1051 // Non leaf - build a query 1032 1052 sb.append("("); 1033 appendCalendarClause(sb, qevName, calendar, new CalTerm(), allCalendars);1053 appendCalendarClause(sb, qevName, calendar, calTerm, allCalendars); 1034 1054 sb.append(") "); 1035 1055 … … 1049 1069 sb.append(".calendar=:calendar" + calTerm.i); 1050 1070 calTerm.i++; 1071 calTerm.empty = false; 1051 1072 } 1052 1073 } else {
