[Bedework-commit] calendarapi r288 - in trunk:
calFacade/src/org/bedework/calfacade calsvc/src/org/bedework/calsvc
calsvci/src/org/bedework/calsvci
svnadmin at bedework.org
svnadmin at bedework.org
Thu May 17 12:03:17 EDT 2007
Author: douglm
Date: 2007-05-17 12:03:15 -0400 (Thu, 17 May 2007)
New Revision: 288
Modified:
trunk/calFacade/src/org/bedework/calfacade/BwEvent.java
trunk/calFacade/src/org/bedework/calfacade/ScheduleResult.java
trunk/calsvc/src/org/bedework/calsvc/AutoResponder.java
trunk/calsvc/src/org/bedework/calsvc/CalSvc.java
trunk/calsvci/src/org/bedework/calsvci/CalSvcIPars.java
Log:
Further fixes for principals.
Better error reporting fro autoresponder
Modified: trunk/calFacade/src/org/bedework/calfacade/BwEvent.java
===================================================================
--- trunk/calFacade/src/org/bedework/calfacade/BwEvent.java 2007-05-17 14:30:35 UTC (rev 287)
+++ trunk/calFacade/src/org/bedework/calfacade/BwEvent.java 2007-05-17 16:03:15 UTC (rev 288)
@@ -1505,8 +1505,25 @@
return null;
}
+ int uriLen = uri.length();
+ while (uri.charAt(uriLen - 1) == '/') {
+ uriLen--;
+ if (uriLen == 0) {
+ return null;
+ }
+ }
+
for (BwAttendee att: getAttendees()) {
- if (uri.equals(att.getAttendeeUri())) {
+ String auri = att.getAttendeeUri();
+ int auriLen = auri.length();
+ while (auri.charAt(auriLen - 1) == '/') {
+ auriLen--;
+ if (auriLen == 0) {
+ return null;
+ }
+ }
+
+ if ((auriLen == uriLen) && (uri.regionMatches(0, auri, 0, uriLen))) {
return att;
}
}
Modified: trunk/calFacade/src/org/bedework/calfacade/ScheduleResult.java
===================================================================
--- trunk/calFacade/src/org/bedework/calfacade/ScheduleResult.java 2007-05-17 14:30:35 UTC (rev 287)
+++ trunk/calFacade/src/org/bedework/calfacade/ScheduleResult.java 2007-05-17 16:03:15 UTC (rev 288)
@@ -36,7 +36,7 @@
public BwFreeBusy freeBusy;
public String toString() {
- StringBuffer sb = new StringBuffer("ScheduleRecipientResult{");
+ StringBuilder sb = new StringBuilder("ScheduleRecipientResult{");
ScheduleResult.tsseg(sb, "", "recipient", recipient);
ScheduleResult.tsseg(sb, ", ", "status", status);
@@ -101,14 +101,73 @@
public Collection<ScheduleRecipientResult> recipientResults =
new ArrayList<ScheduleRecipientResult>();
+ /**
+ * @return null for no failure or the name of the failure
+ */
+ public String failureReason() {
+ String reason = tryFail("badMethod", badMethod);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("badResponseMethod", badResponseMethod);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("badSourceCalendar", badSourceCalendar);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("noRecipients", noRecipients);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("noOriginator", noOriginator);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("noAttendees", noAttendees);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("badAttendees", badAttendees);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("unknownAttendee", unknownAttendee);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("attendeeAccessDisallowed", attendeeAccessDisallowed);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("invalidPartStatus", invalidPartStatus);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("multipleEvents", multipleEvents);
+ if (reason != null) {
+ return reason;
+ }
+ reason = tryFail("duplicateUid", duplicateUid);
+ return reason;
+ }
+
public String toString() {
- StringBuffer sb = new StringBuffer("ScheduleResult{");
+ StringBuilder sb = new StringBuilder("ScheduleResult{");
tsseg(sb, "", "badMethod", badMethod);
- tsseg(sb, "\n, ", "noRecipients", noRecipients);
- tsseg(sb, ", ", "noAttendees", noAttendees);
+ tsseg(sb, ", ", "badResponseMethod", badResponseMethod);
+ tsseg(sb, ", ", "badSourceCalendar", badSourceCalendar);
+ tsseg(sb, ",\n ", "noRecipients", noRecipients);
+ tsseg(sb, ", ", "noOriginator", noOriginator);
+ tsseg(sb, ",\n", "noAttendees", noAttendees);
tsseg(sb, ", ", "badAttendees", badAttendees);
+ tsseg(sb, ", ", "unknownAttendee", unknownAttendee);
tsseg(sb, ", ", "attendeeAccessDisallowed", attendeeAccessDisallowed);
+ tsseg(sb, ",\n", "invalidPartStatus", invalidPartStatus);
+ tsseg(sb, ", ", "multipleEvents", multipleEvents);
+ tsseg(sb, ", ", "duplicateUid", duplicateUid);
tsseg(sb, "\n, ", "ignored", ignored);
tsseg(sb, ", ", "reschedule", reschedule);
@@ -127,21 +186,29 @@
return sb.toString();
}
- private static void tsseg(StringBuffer sb, String delim, String name, int val) {
+ private static String tryFail(String name, boolean val) {
+ if (val) {
+ return name;
+ }
+
+ return null;
+ }
+
+ private static void tsseg(StringBuilder sb, String delim, String name, int val) {
sb.append(delim);
sb.append(name);
sb.append("=");
sb.append(val);
}
- private static void tsseg(StringBuffer sb, String delim, String name, String val) {
+ private static void tsseg(StringBuilder sb, String delim, String name, String val) {
sb.append(delim);
sb.append(name);
sb.append("=");
sb.append(val);
}
- private static void tsseg(StringBuffer sb, String delim, String name, boolean val) {
+ private static void tsseg(StringBuilder sb, String delim, String name, boolean val) {
sb.append(delim);
sb.append(name);
sb.append("=");
Modified: trunk/calsvc/src/org/bedework/calsvc/AutoResponder.java
===================================================================
--- trunk/calsvc/src/org/bedework/calsvc/AutoResponder.java 2007-05-17 14:30:35 UTC (rev 287)
+++ trunk/calsvc/src/org/bedework/calsvc/AutoResponder.java 2007-05-17 16:03:15 UTC (rev 288)
@@ -135,6 +135,7 @@
trace("autoRespond " + sr);
}
} catch (Throwable t) {
+ error(t);
} finally {
try {
closeSvci(svci);
@@ -198,6 +199,10 @@
return log;
}
+ private void error(Throwable t) {
+ getLogger().error(this, t);
+ }
+
private void trace(String msg) {
getLogger().debug(msg);
}
Modified: trunk/calsvc/src/org/bedework/calsvc/CalSvc.java
===================================================================
--- trunk/calsvc/src/org/bedework/calsvc/CalSvc.java 2007-05-17 14:30:35 UTC (rev 287)
+++ trunk/calsvc/src/org/bedework/calsvc/CalSvc.java 2007-05-17 16:03:15 UTC (rev 288)
@@ -328,6 +328,9 @@
*/
public void init(CalSvcIPars parsParam) throws CalFacadeException {
pars = (CalSvcIPars)parsParam.clone();
+
+ fixUsers();
+
debug = pars.getDebug();
env = CalEnvFactory.getEnv(pars.getEnvPrefix(), debug);
@@ -4079,6 +4082,22 @@
}
}
+ private void fixUsers() {
+ String auser = pars.getAuthUser();
+ while ((auser != null) && (auser.endsWith("/"))) {
+ auser = auser.substring(0, auser.length() - 1);
+ }
+
+ pars.setAuthUser(auser);
+
+ auser = pars.getUser();
+ while ((auser != null) && (auser.endsWith("/"))) {
+ auser = auser.substring(0, auser.length() - 1);
+ }
+
+ pars.setUser(auser);
+ }
+
/* ====================================================================
* Private indexing methods
* ==================================================================== */
Modified: trunk/calsvci/src/org/bedework/calsvci/CalSvcIPars.java
===================================================================
--- trunk/calsvci/src/org/bedework/calsvci/CalSvcIPars.java 2007-05-17 14:30:35 UTC (rev 287)
+++ trunk/calsvci/src/org/bedework/calsvci/CalSvcIPars.java 2007-05-17 16:03:15 UTC (rev 288)
@@ -139,6 +139,13 @@
}
/**
+ * @param val String auth user
+ */
+ public void setAuthUser(String val) {
+ authUser = val;
+ }
+
+ /**
* @return String auth user
*/
public String getAuthUser() {
More information about the Bedework-commit
mailing list