[Bedework-commit] carddav r112 - in trunk/server/src/org/bedework/carddav: server server/dirHandlers/db vcard

svnadmin at bedework.org svnadmin at bedework.org
Fri Sep 17 00:08:23 EDT 2010


Author: douglm
Date: 2010-09-17 00:08:20 -0400 (Fri, 17 Sep 2010)
New Revision: 112

Modified:
   trunk/server/src/org/bedework/carddav/server/CarddavBWIntf.java
   trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbAddrBookDirHandler.java
   trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbDirHandler.java
   trunk/server/src/org/bedework/carddav/vcard/Card.java
Log:
More fixes to path handling.

Add some debugging exception traces to help fix ical4j issues.

Modified: trunk/server/src/org/bedework/carddav/server/CarddavBWIntf.java
===================================================================
--- trunk/server/src/org/bedework/carddav/server/CarddavBWIntf.java	2010-09-16 20:14:54 UTC (rev 111)
+++ trunk/server/src/org/bedework/carddav/server/CarddavBWIntf.java	2010-09-17 04:08:20 UTC (rev 112)
@@ -704,6 +704,9 @@
       try {
         card.parse(contentRdr);
       } catch (Throwable t) {
+        if (debug) {
+          error(t);
+        }
         throw new WebdavForbidden(CarddavTags.supportedAddressData,
                                   t.getMessage());
       }

Modified: trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbAddrBookDirHandler.java
===================================================================
--- trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbAddrBookDirHandler.java	2010-09-16 20:14:54 UTC (rev 111)
+++ trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbAddrBookDirHandler.java	2010-09-17 04:08:20 UTC (rev 112)
@@ -92,6 +92,9 @@
     try {
       vc.validate();
     } catch (Throwable t) {
+      if (debug) {
+        error(t);
+      }
       throw new CardDAVBadData(t.getMessage());
     }
 
@@ -102,8 +105,8 @@
     }
 
     dc.setName(card.getName());
-    dc.setParentPath(path);
-    dc.setPath(path + dc.getName());
+    dc.setParentPath(ensureSlashAtEnd(path));
+    dc.setPath(dc.getParentPath() + dc.getName());
     dc.setOwnerHref(card.getOwner().getPrincipalRef());
     dc.setCreatorHref(dc.getOwnerHref());
 

Modified: trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbDirHandler.java
===================================================================
--- trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbDirHandler.java	2010-09-16 20:14:54 UTC (rev 111)
+++ trunk/server/src/org/bedework/carddav/server/dirHandlers/db/DbDirHandler.java	2010-09-17 04:08:20 UTC (rev 112)
@@ -246,7 +246,7 @@
     fltr.makeFilter(filter);
 
     sess.createQuery(sb.toString());
-    sess.setString("path", path);
+    sess.setString("path", ensureSlashAtEnd(path));
 
     fltr.parReplace(sess);
 

Modified: trunk/server/src/org/bedework/carddav/vcard/Card.java
===================================================================
--- trunk/server/src/org/bedework/carddav/vcard/Card.java	2010-09-16 20:14:54 UTC (rev 111)
+++ trunk/server/src/org/bedework/carddav/vcard/Card.java	2010-09-17 04:08:20 UTC (rev 112)
@@ -26,6 +26,7 @@
 
 package org.bedework.carddav.vcard;
 
+import net.fortuna.ical4j.util.CompatibilityHints;
 import net.fortuna.ical4j.vcard.Parameter;
 import net.fortuna.ical4j.vcard.Property;
 import net.fortuna.ical4j.vcard.VCard;
@@ -280,6 +281,8 @@
    */
   public void parse(final Reader rdr) throws WebdavException {
     try {
+      CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_PARSING,
+                                        true);
       vcard = new VCardBuilder(rdr).build();
     } catch (Throwable t) {
       throw new WebdavException(t);



More information about the Bedework-commit mailing list