[Cosmo-dev] Re: Caldav4j: patch to src/main/java/org/osaf/caldav4j/model/request/CalDAVProp.java

Roberto Polli rpolli at babel.it
Wed Oct 3 07:36:44 PDT 2007


hi all,

made this patch because CalDAVProp creates
<C:prop novalue="no" start="UID"/>
instead of
<C:prop name="UID"/>
the first one doesn't fit for query of custom properties


[rpolli at revolver scooby]$ svn diff 
src/main/java/org/osaf/caldav4j/model/request/CalDAVProp.java
Index: src/main/java/org/osaf/caldav4j/model/request/CalDAVProp.java
===================================================================
--- src/main/java/org/osaf/caldav4j/model/request/CalDAVProp.java       
(revision 5569)
+++ src/main/java/org/osaf/caldav4j/model/request/CalDAVProp.java       
(working copy)
@@ -42,10 +42,23 @@
     public static final String ATTR_VAL_YES = "yes";
     public static final String ATTR_VAL_NO = "no";

+    private boolean attr_novalue_enabled = true; //rpolli
+    private String attrName = ATTR_NAME;  //rpolli
+
     private String caldavNamespaceQualifier = null;
     private String name = null;
     private boolean novalue = false;

+   // this new constructor enables to set 
+   // @param: attrName to override the default value "start"
+   // @param: attr_novalue_enabled that avoids showing the novalue="no" if 
set to false
+    public CalDAVProp(String caldavNamespaceQualifier, String attrName, 
String name, boolean novalue, boolean attr_novalue_enabled) {
+        this.caldavNamespaceQualifier = caldavNamespaceQualifier;
+        this.name = name;
+        this.novalue = novalue;
+
+        this.attrName = attrName; //rpolli
+        this.attr_novalue_enabled = attr_novalue_enabled;//rpolli
+    }
+
     public CalDAVProp(String caldavNamespaceQualifier, String name, boolean 
novalue) {
         this.caldavNamespaceQualifier = caldavNamespaceQualifier;
         this.name = name;
@@ -79,8 +92,12 @@

     protected Map<String, String> getAttributes() {
         Map<String, String> m =  new HashMap<String, String>();
-        m.put(ATTR_NAME, name);
-        m.put(ATTR_NOVALUE, novalue ? ATTR_VAL_YES : ATTR_VAL_NO);
+        m.put(attrName, name); //rpolli
+
+        if (attr_novalue_enabled) {
+               m.put(ATTR_NOVALUE, novalue ? ATTR_VAL_YES : ATTR_VAL_NO);
+        }
+
         return m;
     }








-- 

Roberto Polli
Babel S.r.l. - http://www.babel.it
Tel. +39.06.91801075 - fax +39.06.91612446
P.zza S.Benedetto da Norcia, 33 - 00040 Pomezia (Roma)

"Il seguente messaggio contiene informazioni riservate. Qualora questo 
messaggio fosse da Voi ricevuto per errore, Vogliate cortesemente darcene 
notizia a mezzo e-mail. Vi sollecitiamo altresì a distruggere il messaggio 
erroneamente ricevuto. Quanto precede Vi viene chiesto ai fini del rispetto 
della legge in materia di protezione dei dati personali."

"Il seguente messaggio contiene informazioni riservate. Qualora questo messaggio fosse da Voi ricevuto per errore, Vogliate cortesemente darcene notizia mezzo e-mail. Vi sollecitiamo altresi' a distruggere il messaggo erroneamente ricevuto. Quanto precede Vi viene chiesto ai fini del rispetto della legge in materia di protezione dei dati personali."


More information about the cosmo-dev mailing list