monkeyfdude / caldav4j

Automatically exported from code.google.com/p/caldav4j
0 stars 0 forks source link

Add support for free-busy-query report #18

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Need to support free-busy-query report:

http://tools.ietf.org/html/rfc4791#section-7.10

Original issue reported on code.google.com by markhob...@gmail.com on 1 Oct 2008 at 4:12

GoogleCodeExporter commented 9 years ago
Workaround is to do a calendar-query report and then query that for freebusy 
time.

Original comment by markhob...@gmail.com on 1 Oct 2008 at 4:14

GoogleCodeExporter commented 9 years ago
It's not a lot of work, but not my priority (but can be yours).

What to do?
* create a CalendarFreeBusyQuery class cloning the CalendarQuery one: see
http://code.google.com/p/caldav4j/source/browse/#svn/trunk/src/main/java/org/osa
f/caldav4j/model/request

  this simple change should work
   - public static final String ELEMENT_NAME = "calendar-query";
   + public static final String ELEMENT_NAME = "free-busy-query";

* a test class that checks the resulting query

* a basic FreeBusyQuery consists in one CALDAV:time-range

Original comment by robipo...@gmail.com on 1 Oct 2008 at 6:02

GoogleCodeExporter commented 9 years ago
I've attached an initial patch for this feature.

The main point for discussion is the problem that a free-busy-query report's 
response is iCal and not XML, which goes against the assumptions made in 
CalDAVReportMethod and its XML response superclasses.  I toyed with making 
CalDAVReportMethod support both XML and iCal responses, but this got messy due 
to a number of reasons, so I opted for a simpler (yet still messy) parallel 
report method that extends HttpRequestBodyMethodBase instead.  This is less 
than ideal so I'm open to suggestions.

I haven't been able to run the tests due to the overhead of setting up the test 
 environment, so I haven't contributed anything there I'm afraid.

Original comment by markhob...@gmail.com on 14 Feb 2011 at 12:40

Attachments:

GoogleCodeExporter commented 9 years ago
Hi Mark, I'll take a look asap.

I hope to set up an easier test environment using the default chandler hub 
account created for supporting android.

Thanks again + Peace,
R.

Original comment by robipo...@gmail.com on 14 Feb 2011 at 3:02

GoogleCodeExporter commented 9 years ago
Hi Mark, I agree with you: the fix is a necessary kludge due to the strange 
format of the freebusy reply format. 

To let you to test your fix, I committed the chandler account credential in 
tests. You're welcome to svn update trunk/.

Let me know and I'll give you the required support.

Thx+Peace,
R.

Original comment by robipo...@gmail.com on 15 Feb 2011 at 4:45

GoogleCodeExporter commented 9 years ago
I've tried running the tests off the trunk but still get a load of failures:

Tests run: 59, Failures: 10, Errors: 35, Skipped: 0

Do they work for you?

Original comment by markhob...@gmail.com on 15 Feb 2011 at 5:13

GoogleCodeExporter commented 9 years ago
my errors are 4/36. can you chat me?

Original comment by robipo...@gmail.com on 15 Feb 2011 at 5:22

GoogleCodeExporter commented 9 years ago
Here's the output of running 'mvn clean test' against trunk with no local 
modifications.

Original comment by markhob...@gmail.com on 15 Feb 2011 at 5:27

Attachments:

GoogleCodeExporter commented 9 years ago
it's related to  java-1.5. I run and test on java-1.6...

Original comment by robipo...@gmail.com on 15 Feb 2011 at 5:38

GoogleCodeExporter commented 9 years ago
I've raised issue 40 to deal with the broken tests.

Original comment by markhob...@gmail.com on 16 Feb 2011 at 4:40

GoogleCodeExporter commented 9 years ago
granted to mark as soon as he finish to play with failing tests ;)

Original comment by robipo...@gmail.com on 17 Feb 2011 at 5:51

GoogleCodeExporter commented 9 years ago
Added FreeBusyQuery and CalendarCalDAVReportMethod, since free-busy-query 
report response is calendar-based rather than XML-based.

Original comment by markhob...@gmail.com on 22 Feb 2011 at 11:58

GoogleCodeExporter commented 9 years ago
I got the following error running the tests:

java.lang.IllegalArgumentException: Test class can only have one constructor
    at org.junit.runners.model.TestClass.<init>(TestClass.java:34)
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:65)
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:59)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)

any hint?

Original comment by robipo...@gmail.com on 22 Feb 2011 at 3:14

GoogleCodeExporter commented 9 years ago
How are you running the test?  It works fine for me in Eclipse 3.6.1 and Maven 
2.2.1.

Original comment by markhob...@gmail.com on 22 Feb 2011 at 3:20

GoogleCodeExporter commented 9 years ago
Now works with bedework too. As we don't have a bw hub, tests are commented.

Original comment by robipo...@gmail.com on 23 Feb 2011 at 11:11