[GroupDAV] Having problems with basic functionality - Question of setup

Tews, Shad groupdav@opengroupware.org
Wed, 14 Mar 2007 10:51:37 -0600


This is a multi-part message in MIME format.

------_=_NextPart_001_01C76659.07F6E9A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi, here at USA.net we have been testing with the following setup.
=20
SUN Solaris version 8
JBOSS version 4.04.GA
DS server version 5.0.10
JDK version 1.5.0-09
GroupDAV version 1801
Funambol database is an Oracle DB version 10.2
I am testing with the Outlook plugin version 3.0.15 on a PC and the =
Funambol Smart Phone plugin version 3.1.3 running Windows Mobile OS =
version 5 on a Motorola Q device.
=20
I just installed the new 1801 and because some of the basic =
functionality is not working properly I am concerned about our setup. =
With the previous 1792 version of the GroupDAV connector we had managed =
to establish iCal event stability with some minor changes but I noticed =
that there always seems to be problems with the exceptions in the =
funambol engine. Before I start publishing some of the fixes we made I =
want to take a step back and make sure our setup is right. I would like =
start by finding out how stable all the normal functionality is for =
people out there and find out what people are using for their setup. I =
am also curious to the extent of testing people are doing. I included a =
spreadsheet of a basic set of tests I have been performing and would =
like to know if these tests are passing or failing for others. The key =
to getting everything working properly seems to be the location and =
versions of the right jar files and the correct entries in the =
install.properties file. If some could take a minute and look at my =
setup and see if they notice any obvious problems I would appreciate it.
=20
Here is an ls of our /usr/local/jboss-4.0.4.GA/server/funambol/lib =
directory. The JGroupDAV.jar is going to be of differant size than the =
one with 1801 release due to some minor changes so please take note.=20
=20
total 31186
drwxr-xr-x   2 root     other       2048 Mar 13 22:40 .
drwxr-xr-x   9 root     other        512 Mar 13 22:39 ..
-rw-r--r--   1 root     other      55043 Mar 13 22:40 JGroupDAV.jar
-rw-r--r--   1 root     other      54850 Mar 13 22:39 activation.jar
-rw-r--r--   1 root     other     443587 Mar 13 22:39 antlr-2.7.6.jar
-rw-r--r--   1 root     other       5181 Mar 13 22:39 =
autonumber-plugin.jar
-rw-r--r--   1 root     other     516253 Mar 13 22:39 bcel.jar
-rw-r--r--   1 root     other      22245 Mar 13 22:39 =
bindingservice-plugin.jar
-rw-r--r--   1 root     other     175967 Mar 13 22:39 bsf.jar
-rw-r--r--   1 root     other     242480 Mar 13 22:39 bsh-1.3.0.jar
-rw-r--r--   1 root     other      12835 Mar 13 22:39 bsh-deployer.jar
-rw-r--r--   1 root     other     328579 Mar 13 22:39 cglib.jar
-rw-r--r--   1 root     other      46725 Mar 13 22:40 =
commons-codec-1.3.jar
-rw-r--r--   1 root     other     165304 Mar 13 22:39 =
commons-collections.jar
-rw-r--r--   1 root     other     225626 Mar 13 22:39 =
commons-httpclient.jar
-rw-r--r--   1 root     other      63980 Mar 13 22:40 =
commons-lang-1.0.1.jar
-rw-r--r--   1 root     other      52915 Mar 13 22:40 =
commons-logging-1.1.jar
-rw-r--r--   1 root     other      20937 Mar 13 22:40 =
commons-logging-adapters-1.1.jar
-rw-r--r--   1 root     other      44598 Mar 13 22:40 =
commons-logging-api-1.1.jar
-rw-r--r--   1 root     other      31605 Mar 13 22:39 =
commons-logging.jar
-rw-r--r--   1 root     other     265111 Mar 13 22:40 =
foundation-3.0.9.jar
-rw-r--r--   1 root     other       6272 Mar 13 22:40 =
funambol-admin-dev.jar
-rw-r--r--   1 root     other     173257 Mar 13 22:40 =
funambol-ext-3.0.4.jar
-rw-r--r--   1 root     other     417303 Mar 13 22:40 =
funambol-framework.jar
-rw-r--r--   1 root     other    2112010 Mar 13 22:39 hibernate3.jar
-rw-r--r--   1 root     other       8608 Mar 13 22:39 hsqldb-plugin.jar
-rw-r--r--   1 root     other     635958 Mar 13 22:39 hsqldb.jar
-rw-r--r--   1 root     other     473546 Mar 13 22:40 =
ical4j-1.0-beta1.jar
-rw-r--r--   1 root     other     451134 Mar 13 22:39 javassist.jar
-rw-r--r--   1 root     other      98722 Mar 13 22:39 javax.servlet.jar
-rw-r--r--   1 root     other      51519 Mar 13 22:39 =
javax.servlet.jsp.jar
-rw-r--r--   1 root     other     331606 Mar 13 22:39 =
jboss-backport-concurrent.jar
-rw-r--r--   1 root     other      80861 Mar 13 22:39 =
jboss-common-jdbc-wrapper.jar
-rw-r--r--   1 root     other      14760 Mar 13 22:39 =
jboss-hibernate.jar
-rw-r--r--   1 root     other     442880 Mar 13 22:39 jboss-j2ee.jar
-rw-r--r--   1 root     other      30395 Mar 13 22:39 jboss-jaxrpc.jar
-rw-r--r--   1 root     other     187041 Mar 13 22:39 jboss-jca.jar
-rw-r--r--   1 root     other      14216 Mar 13 22:39 jboss-jsr77.jar
-rw-r--r--   1 root     other      63912 Mar 13 22:39 jboss-jsr88.jar
-rw-r--r--   1 root     other     160853 Mar 13 22:39 =
jboss-management.jar
-rw-r--r--   1 root     other      57990 Mar 13 22:39 =
jboss-monitoring.jar
-rw-r--r--   1 root     other       8362 Mar 13 22:39 =
jboss-remoting-int.jar
-rw-r--r--   1 root     other     608309 Mar 13 22:39 jboss-remoting.jar
-rw-r--r--   1 root     other      22113 Mar 13 22:39 jboss-saaj.jar
-rw-r--r--   1 root     other     124943 Mar 13 22:39 =
jboss-serialization.jar
-rw-r--r--   1 root     other      49226 Mar 13 22:39 jboss-srp.jar
-rw-r--r--   1 root     other      53755 Mar 13 22:39 =
jboss-transaction.jar
-rw-r--r--   1 root     other    2101020 Mar 13 22:39 jboss.jar
-rw-r--r--   1 root     other     510551 Mar 13 22:39 jbossmq.jar
-rw-r--r--   1 root     other      48168 Mar 13 22:39 jbossretro-rt.jar
-rw-r--r--   1 root     other     302998 Mar 13 22:39 jbosssx.jar
-rw-r--r--   1 root     other    1330710 Mar 13 22:39 jgroups-all.jar
-rw-r--r--   1 root     other      30544 Mar 13 22:39 =
jmx-adaptor-plugin.jar
-rw-r--r--   1 root     other      38713 Mar 13 22:39 jnpserver.jar
-rw-r--r--   1 root     other     502389 Mar 13 22:40 joda-time-1.0.jar
-rw-r--r--   1 root     other       3520 Mar 13 22:39 jpl-pattern.jar
-rw-r--r--   1 root     other      16992 Mar 13 22:39 jpl-util.jar
-rw-r--r--   1 root     other     353235 Mar 13 22:39 log4j.jar
-rw-r--r--   1 root     other       5736 Mar 13 22:39 mail-plugin.jar
-rw-r--r--   1 root     other     327831 Mar 13 22:39 mail.jar
-rw-r--r--   1 root     other       8799 Mar 13 22:39 =
properties-plugin.jar
-rw-r--r--   1 root     other       3805 Mar 13 22:39 =
scheduler-plugin-example.jar
-rw-r--r--   1 root     other      47817 Mar 13 22:39 =
scheduler-plugin.jar
-rw-r--r--   1 root     other     199556 Mar 13 22:40 smallsql.jar
-rw-r--r--   1 root     other      98256 Mar 13 22:39 snmp-support.jar
-rw-r--r--   1 root     other     164985 Mar 13 22:39 wsdl4j.jar
-rw-r--r--   1 root     other       2651 Mar 13 22:39 xmlentitymgr.jar

=20

My install.properties file looks like this
--------------------------------------

server-uri=3D
context-path=3D/funambol

#
dbms=3Doracle

# ORACLE
# =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#
jdbc.classpath=3D/Funambol/tools/ojdbc14/ojdbc14.jar
jdbc.driver=3Doracle.jdbc.driver.OracleDriver
jdbc.url=3Djdbc:oracle:thin:@165.212.101.9:1521:dvug
jdbc.user=3Dfunambol
jdbc.password=3Dfunambol
#
#
## Originals
## ---------
##jdbc.classpath=3D/opt/postgresql/share/java/postgresql.jar
##jdbc.driver=3Dorg.postgresql.Driver
##jdbc.url=3Djdbc:postgresql://localhost/funambol
##jdbc.user=3Dfunambol
##jdbc.password=3D
## ---------

#
# Modules definitions
#
modules-to-install=3Dpdi-3.0.5,groupdav-1.1.1802
modules-to-uninstall=3D


I am curious if someone would be willing to provide me a tarball of =
their setup or a full listing of all the files in their app server =
directory and their funambol home directory.=20
=20
=20
Also,
I am going through right now to see if the changes we made to the 1792 =
version are still needed in the 1801 release and if so I will publish =
them shortly. One fix I feel is still needed is in the startSync method =
for both calendar and vcard objects. If you are trying to delete =
multiple items the loop incorrectly increments the value of "i". I =
changed the loop as noted below the "USA.net" comment section. I made =
this fix in both the ICalendarObjectStore.java and the =
vCardObjectStore.java.

public void startSync() throws Exception {

log.info("Sync started....");

obtrack.init();

List objects =3D =
client.listObjects(props.getProperty("groupdav.store"));

Map etags =3D client.getEtags();

for (int i =3D 0; i < objects.size(); i++) {

String url =3D (String)objects.get(i);

// Do we have the object?

boolean haveurl =3D obtrack.doesURLExist(url);

if (haveurl) {

String stuid =3D obtrack.findObjectByURL(url);

String stetag =3D obtrack.getObjectEtag(stuid);

String getag =3D (String)etags.get(url);

if (!stetag.equals(getag)) {

updateObjectFromServer(stuid);

} else {

untouched.add(stuid);

}

log.fine("We have the URL: " + url);

} else {

try {

addFromServerToStore(url);

} catch (Exception ex) {

log.throwing(this.getClass().getName(),"startSync",ex);

ex.printStackTrace();

}

log.fine("We added the URL: " + url);

}

}

// Now find deleted items

/*

* USA.NET

* Changed the looping code to properly handle multiple deletes.

*/

ArrayList URLarray =3D obtrack.getURLList();=20

for (int i =3D 0; i < URLarray.size(); i++)

{

String url =3D (String)URLarray.get(i);

if (null =3D=3D etags.get(url))

{

log.fine("Deleted on server: " + url);

deleteFromStore(obtrack.findObjectByURL(url));

}

}

/*

* USA.NET

* Old delete loop

for (int i =3D 0; i < obtrack.getURLList().size(); i++) {

String url =3D (String)obtrack.getURLList().get(i);

if (etags.get(url) =3D=3D null) {

log.fine("Deleted on server: " + url);

deleteFromStore(obtrack.findObjectByURL(url));

}

}

*/

}

=20

=20

thanks,

Shad Tews
USA.net






------_=_NextPart_001_01C76659.07F6E9A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML dir=3Dltr><HEAD>=0A=
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dunicode">=0A=
<META content=3D"MSHTML 6.00.2800.1589" name=3DGENERATOR></HEAD>=0A=
<BODY><FONT COLOR=3DBLACK>=0A=
<DIV><FONT face=3DArial color=3D#000000 size=3D2>Hi, here at USA.net we =
have been testing with the following setup.</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV><FONT face=3DArial size=3D2>SUN Solaris version 8</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>JBOSS version 4.04.GA</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>DS server version 5.0.10</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>JDK version 1.5.0-09</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>GroupDAV version 1801</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>Funambol database is an Oracle DB =
version 10.2</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2>I am testing with the Outlook plugin =
version 3.0.15 on a PC and the Funambol Smart Phone plugin version 3.1.3 =
running Windows Mobile OS version 5 on a Motorola Q device.</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV><FONT face=3DArial size=3D2>I just installed the new 1801 and =
because some of the basic functionality is not working properly I am =
concerned about&nbsp;our setup. With the previous 1792 version of the =
GroupDAV connector we had managed to establish iCal event stability with =
some minor changes but I noticed that there always seems to be problems =
with the exceptions in the funambol engine. Before I start publishing =
some of the fixes we made I want to take a step back&nbsp;and make sure =
our setup is right.&nbsp;I would like start by finding out how stable =
all the normal functionality is for people out there and&nbsp;find out =
what people are using for their setup. I am also curious to the extent =
of testing people are doing. I included a spreadsheet of a basic set of =
tests I have been performing and would like to know if these tests are =
passing or failing for others. The key to getting everything working =
properly seems to be the location and versions of the right jar files =
and the correct entries in the install.properties file. If some could =
take a minute and look at my setup and see if they notice any obvious =
problems I would appreciate it.</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV><FONT face=3DArial size=3D2>Here is an ls of our =
/usr/local/jboss-4.0.4.GA/server/funambol/lib directory. The =
JGroupDAV.jar is going to be of differant size than the one with 1801 =
release due to some minor changes so please take note.&nbsp;</FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV><STRONG>total 31186<BR>drwxr-xr-x&nbsp;&nbsp; 2 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
2048 Mar 13 22:40 .<BR>drwxr-xr-x&nbsp;&nbsp; 9 =
root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 Mar 13 22:39 =
.<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55043 Mar 13 22:40 =
JGroupDAV.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 54850 Mar 13 22:39 =
activation.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp; 443587 Mar 13 22:39 =
antlr-2.7.6.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5181 Mar 13 22:39 =
autonumber-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 516253 Mar 13 =
22:39 bcel.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22245 Mar 13 22:39 =
bindingservice-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 175967 Mar 13 =
22:39 bsf.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp; 242480 Mar 13 22:39 =
bsh-1.3.0.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12835 Mar 13 22:39 =
bsh-deployer.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 328579 Mar 13 =
22:39 cglib.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 46725 Mar 13 22:40 =
commons-codec-1.3.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 165304 Mar 13 =
22:39 commons-collections.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 225626 Mar 13 =
22:39 commons-httpclient.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 63980 =
Mar 13 22:40 commons-lang-1.0.1.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 52915 =
Mar 13 22:40 commons-logging-1.1.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20937 =
Mar 13 22:40 commons-logging-adapters-1.1.jar<BR>-rw-r--r--&nbsp;&nbsp; =
1 root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44598 =
Mar 13 22:40 commons-logging-api-1.1.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31605 =
Mar 13 22:39 commons-logging.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 265111 Mar 13 =
22:40 foundation-3.0.9.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
6272 Mar 13 22:40 funambol-admin-dev.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 173257 Mar 13 =
22:40 funambol-ext-3.0.4.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 417303 Mar 13 =
22:40 funambol-framework.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp; 2112010 Mar 13 =
22:39 hibernate3.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
8608 Mar 13 22:39 hsqldb-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 635958 Mar 13 =
22:39 hsqldb.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 473546 Mar 13 =
22:40 ical4j-1.0-beta1.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 451134 Mar 13 =
22:39 javassist.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98722 =
Mar 13 22:39 javax.servlet.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51519 =
Mar 13 22:39 javax.servlet.jsp.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 331606 Mar 13 =
22:39 jboss-backport-concurrent.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80861 =
Mar 13 22:39 jboss-common-jdbc-wrapper.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14760 =
Mar 13 22:39 jboss-hibernate.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 442880 Mar 13 =
22:39 jboss-j2ee.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30395 =
Mar 13 22:39 jboss-jaxrpc.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 187041 Mar 13 =
22:39 jboss-jca.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14216 =
Mar 13 22:39 jboss-jsr77.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 63912 =
Mar 13 22:39 jboss-jsr88.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 160853 Mar 13 =
22:39 jboss-management.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 57990 =
Mar 13 22:39 jboss-monitoring.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
8362 Mar 13 22:39 jboss-remoting-int.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 608309 Mar 13 =
22:39 jboss-remoting.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22113 =
Mar 13 22:39 jboss-saaj.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 124943 Mar 13 =
22:39 jboss-serialization.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 49226 =
Mar 13 22:39 jboss-srp.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 53755 =
Mar 13 22:39 jboss-transaction.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp; 2101020 Mar 13 =
22:39 jboss.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp; 510551 Mar 13 22:39 =
jbossmq.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 48168 Mar 13 22:39 =
jbossretro-rt.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 302998 Mar 13 =
22:39 jbosssx.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp; 1330710 Mar 13 =
22:39 jgroups-all.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30544 =
Mar 13 22:39 jmx-adaptor-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38713 =
Mar 13 22:39 jnpserver.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 502389 Mar 13 =
22:40 joda-time-1.0.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
3520 Mar 13 22:39 jpl-pattern.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16992 =
Mar 13 22:39 jpl-util.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 353235 Mar 13 =
22:39 log4j.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5736 Mar 13 22:39 =
mail-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp; 327831 Mar 13 22:39 =
mail.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; =
other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8799 Mar 13 22:39 =
properties-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
3805 Mar 13 22:39 scheduler-plugin-example.jar<BR>-rw-r--r--&nbsp;&nbsp; =
1 root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 47817 =
Mar 13 22:39 scheduler-plugin.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 199556 Mar 13 =
22:40 smallsql.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98256 =
Mar 13 22:39 snmp-support.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp; 164985 Mar 13 =
22:39 wsdl4j.jar<BR>-rw-r--r--&nbsp;&nbsp; 1 =
root&nbsp;&nbsp;&nbsp;&nbsp; other&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
2651 Mar 13 22:39 xmlentitymgr.jar</STRONG></DIV>=0A=
<P><STRONG></STRONG>&nbsp;</P>=0A=
<P>My install.properties file looks like =
this<BR>--------------------------------------</P>=0A=
<P><STRONG>server-uri=3D<BR>context-path=3D/funambol</STRONG></P>=0A=
<P><STRONG>#<BR>dbms=3Doracle</STRONG></P>=0A=
<P><STRONG># ORACLE<BR># =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<BR>#<BR>jdbc.classpath=3D/Funambol/tools/o=
jdbc14/ojdbc14.jar<BR>jdbc.driver=3Doracle.jdbc.driver.OracleDriver<BR>jd=
bc.url=3Djdbc:oracle:thin:@165.212.101.9:1521:dvug<BR>jdbc.user=3Dfunambo=
l<BR>jdbc.password=3Dfunambol<BR>#<BR>#<BR>## Originals<BR>## =
---------<BR>##jdbc.classpath=3D/opt/postgresql/share/java/postgresql.jar=
<BR>##jdbc.driver=3Dorg.postgresql.Driver<BR>##jdbc.url=3Djdbc:postgresql=
://localhost/funambol<BR>##jdbc.user=3Dfunambol<BR>##jdbc.password=3D<BR>=
## ---------</STRONG></P>=0A=
<P><STRONG>#<BR># Modules =
definitions<BR>#<BR>modules-to-install=3Dpdi-3.0.5,groupdav-1.1.1802<BR>m=
odules-to-uninstall=3D<BR></STRONG></P>=0A=
<DIV>I am curious if someone would be willing to provide me a tarball of =
their setup or a full listing of all the files in their app server =
directory and their funambol home directory. </DIV>=0A=
<DIV>&nbsp;</DIV>=0A=
<DIV>&nbsp;</DIV>=0A=
<DIV>Also,</DIV>=0A=
<DIV>I am going through right now to see if the changes we made to the =
1792 version are still needed in the 1801 release and if so I will =
publish them shortly. One fix I feel is still needed is in the startSync =
method for both calendar and vcard objects. If you are trying to delete =
multiple items the loop incorrectly increments the value of "i". I =
changed the loop as noted below the "USA.net" comment section. I made =
this fix in both the ICalendarObjectStore.java and the =
vCardObjectStore.java.<BR></DIV><FONT size=3D2>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>public</B></FONT><FONT size=3D2> </FONT><B><FONT =
color=3D#7f0055 size=3D2>void</B></FONT><FONT size=3D2> startSync() =
</FONT><B><FONT color=3D#7f0055 size=3D2>throws</B></FONT><FONT =
size=3D2> Exception {</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 size=3D2>log</FONT><FONT =
size=3D2>.info(</FONT><FONT color=3D#2a00ff size=3D2>"Sync =
started...."</FONT><FONT size=3D2>);</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 =
size=3D2>obtrack</FONT><FONT size=3D2>.init();</P>=0A=
<P align=3Dleft>List objects =3D </FONT><FONT color=3D#0000c0 =
size=3D2>client</FONT><FONT size=3D2>.listObjects(</FONT><FONT =
color=3D#0000c0 size=3D2>props</FONT><FONT =
size=3D2>.getProperty(</FONT><FONT color=3D#2a00ff =
size=3D2>"groupdav.store"</FONT><FONT size=3D2>));</P>=0A=
<P align=3Dleft>Map etags =3D </FONT><FONT color=3D#0000c0 =
size=3D2>client</FONT><FONT size=3D2>.getEtags();</P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>for</B></FONT><FONT size=3D2> (</FONT><B><FONT color=3D#7f0055 =
size=3D2>int</B></FONT><FONT size=3D2> i =3D 0; i &lt; objects.size(); =
i++) {</P>=0A=
<P align=3Dleft>String url =3D (String)objects.get(i);</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#3f7f5f size=3D2>// Do we have the =
object?</P></FONT><FONT size=3D2>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>boolean</B></FONT><FONT size=3D2> haveurl =3D </FONT><FONT =
color=3D#0000c0 size=3D2>obtrack</FONT><FONT =
size=3D2>.doesURLExist(url);</P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>if</B></FONT><FONT size=3D2> (haveurl) {</P>=0A=
<P align=3Dleft>String stuid =3D </FONT><FONT color=3D#0000c0 =
size=3D2>obtrack</FONT><FONT size=3D2>.findObjectByURL(url);</P>=0A=
<P align=3Dleft>String stetag =3D </FONT><FONT color=3D#0000c0 =
size=3D2>obtrack</FONT><FONT size=3D2>.getObjectEtag(stuid);</P>=0A=
<P align=3Dleft>String getag =3D (String)etags.get(url);</P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>if</B></FONT><FONT size=3D2> (!stetag.equals(getag)) {</P>=0A=
<P align=3Dleft>updateObjectFromServer(stuid);</P>=0A=
<P align=3Dleft>} </FONT><B><FONT color=3D#7f0055 =
size=3D2>else</B></FONT><FONT size=3D2> {</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 =
size=3D2>untouched</FONT><FONT size=3D2>.add(stuid);</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 size=3D2>log</FONT><FONT =
size=3D2>.fine(</FONT><FONT color=3D#2a00ff size=3D2>"We have the URL: =
"</FONT><FONT size=3D2> + url);</P>=0A=
<P align=3Dleft>} </FONT><B><FONT color=3D#7f0055 =
size=3D2>else</B></FONT><FONT size=3D2> {</P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>try</B></FONT><FONT size=3D2> {</P>=0A=
<P align=3Dleft>addFromServerToStore(url);</P>=0A=
<P align=3Dleft>} </FONT><B><FONT color=3D#7f0055 =
size=3D2>catch</B></FONT><FONT size=3D2> (Exception ex) {</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 size=3D2>log</FONT><FONT =
size=3D2>.throwing(</FONT><B><FONT color=3D#7f0055 =
size=3D2>this</B></FONT><FONT =
size=3D2>.getClass().getName(),</FONT><FONT color=3D#2a00ff =
size=3D2>"startSync"</FONT><FONT size=3D2>,ex);</P>=0A=
<P align=3Dleft>ex.printStackTrace();</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 size=3D2>log</FONT><FONT =
size=3D2>.fine(</FONT><FONT color=3D#2a00ff size=3D2>"We added the URL: =
"</FONT><FONT size=3D2> + url);</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft></P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#3f7f5f size=3D2>// Now find =
deleted items</P></FONT><FONT size=3D2>=0A=
<P align=3Dleft></FONT><FONT color=3D#3f7f5f size=3D2>/*</P>=0A=
<P align=3Dleft>* USA.NET</P>=0A=
<P align=3Dleft>* Changed the looping code to properly handle multiple =
deletes.</P>=0A=
<P align=3Dleft>*/</P></FONT><FONT size=3D2>=0A=
<P align=3Dleft>ArrayList URLarray =3D </FONT><FONT color=3D#0000c0 =
size=3D2>obtrack</FONT><FONT size=3D2>.getURLList(); </P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>for</B></FONT><FONT size=3D2> (</FONT><B><FONT color=3D#7f0055 =
size=3D2>int</B></FONT><FONT size=3D2> i =3D 0; i &lt; URLarray.size(); =
i++)</P>=0A=
<P align=3Dleft>{</P>=0A=
<P align=3Dleft>String url =3D (String)URLarray.get(i);</P>=0A=
<P align=3Dleft></FONT><B><FONT color=3D#7f0055 =
size=3D2>if</B></FONT><FONT size=3D2> (</FONT><B><FONT color=3D#7f0055 =
size=3D2>null</B></FONT><FONT size=3D2> =3D=3D etags.get(url))</P>=0A=
<P align=3Dleft>{</P>=0A=
<P align=3Dleft></FONT><FONT color=3D#0000c0 size=3D2>log</FONT><FONT =
size=3D2>.fine(</FONT><FONT color=3D#2a00ff size=3D2>"Deleted on server: =
"</FONT><FONT size=3D2> + url);</P>=0A=
<P align=3Dleft>deleteFromStore(</FONT><FONT color=3D#0000c0 =
size=3D2>obtrack</FONT><FONT size=3D2>.findObjectByURL(url));</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft></P>=0A=
<P align=3Dleft></FONT><FONT color=3D#3f7f5f size=3D2>/*</P>=0A=
<P align=3Dleft>* USA.NET</P>=0A=
<P align=3Dleft>* Old delete loop</P>=0A=
<P align=3Dleft>for (int i =3D 0; i &lt; obtrack.getURLList().size(); =
i++) {</P>=0A=
<P align=3Dleft>String url =3D (String)obtrack.getURLList().get(i);</P>=0A=
<P align=3Dleft>if (etags.get(url) =3D=3D null) {</P>=0A=
<P align=3Dleft>log.fine("Deleted on server: " + url);</P>=0A=
<P align=3Dleft>deleteFromStore(obtrack.findObjectByURL(url));</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft>}</P>=0A=
<P align=3Dleft>*/</P></FONT><FONT size=3D2>=0A=
<P>}</P>=0A=
<P>&nbsp;</P>=0A=
<P>&nbsp;</P>=0A=
<P>thanks,</P>=0A=
<P>Shad =
Tews<BR>USA.net<BR></P></FONT><BR><BR><P>&nbsp;</P><P>&nbsp;</P></BODY></=
HTML>
------_=_NextPart_001_01C76659.07F6E9A0--