nemomobile/buteo-sync-plugin-caldav — pull request #31 by sdrave (2014-09-08 22:49:23+00:00)
Title: Let Reader class parse all retrieved iCalData

For some servers (e.g. Owncloud), the uid of an incidence cannot be derived from its uri. Therefore we need to parse each retrieved incidence to be able to extract its true uid.

This is another preparatory pull request for improving Owncloud support. I am not quite sure if what I am doing here is the best solution as it increases the memory consumption of the retrieved resources.
Alternatives would be to parse iCalData and only store the uid or to only store the incidence and throw the string representation away. However, the parsed incidence is needed again when we apply changes locally and the string representation is stored in the sync database in case of a remote modification. Thus both alternatives would involve additional serializations or deserializations of some incidences. Assuming that parsing iCalData is relatively expensive, I decided to trade memory for speed ..