[Bedework-commit] webapps r763 - trunk/webcommon/src/org/bedework/webcommon/calendars

svnadmin at bedework.org svnadmin at bedework.org
Wed May 21 14:55:02 EDT 2008


Author: douglm
Date: 2008-05-21 14:55:01 -0400 (Wed, 21 May 2008)
New Revision: 763

Modified:
   trunk/webcommon/src/org/bedework/webcommon/calendars/DeleteCalendarAction.java
Log:
Fix bug in lucene indexing which caused failure for collections

All a noindexing option on restore

Speed up indexing on restore by batching user indexers.

Index collections on restore

Show time spent indexing

Remove cascades option in schema for calendar children. Requires we manage that collection ourselves but avoids inefficiencies.

Add some more tests and tidy up some of the api methods.

Add code to delete a user entry.

Modified: trunk/webcommon/src/org/bedework/webcommon/calendars/DeleteCalendarAction.java
===================================================================
--- trunk/webcommon/src/org/bedework/webcommon/calendars/DeleteCalendarAction.java	2008-05-15 15:03:50 UTC (rev 762)
+++ trunk/webcommon/src/org/bedework/webcommon/calendars/DeleteCalendarAction.java	2008-05-21 18:55:01 UTC (rev 763)
@@ -29,6 +29,7 @@
 import org.bedework.appcommon.ClientError;
 import org.bedework.appcommon.ClientMessage;
 import org.bedework.calfacade.BwCalendar;
+import org.bedework.calfacade.exc.CalFacadeException;
 import org.bedework.webcommon.BwAbstractAction;
 import org.bedework.webcommon.BwActionFormBase;
 import org.bedework.webcommon.BwRequest;
@@ -60,16 +61,23 @@
       return forwardNotFound;
     }
 
-    int delResult = form.fetchSvci().getCalendarsHandler().delete(cal, false);
+    try {
+      if (!form.fetchSvci().getCalendarsHandler().delete(cal, false)) {
+        form.getErr().emit(ClientError.unknownCalendar, calPath);
+        return forwardNotFound;
+      }
+    } catch (CalFacadeException cfe) {
+      if (CalFacadeException.calendarNotEmpty.equals(cfe.getMessage())) {
+        form.getErr().emit(ClientError.referencedCalendar, calPath);
+        return forwardInUse;
+      }
 
-    if (delResult == 2) {
-      form.getErr().emit(ClientError.referencedCalendar, calPath);
-      return forwardInUse;
-    }
+      if (CalFacadeException.cannotDeleteDefaultCalendar.equals(cfe.getMessage())) {
+        form.getErr().emit(ClientError.referencedCalendar, "default calendar");
+        return forwardInUse;
+      }
 
-    if (delResult == 1) {
-      form.getErr().emit(ClientError.unknownCalendar, calPath);
-      return forwardNotFound;
+      throw cfe;
     }
 
     form.getMsg().emit(ClientMessage.deletedCalendar, calPath);



More information about the Bedework-commit mailing list