Branch 'kolab/integration/4.13.0' - 2 commits - resources/kolab
Christian Mollekopf
mollekopf at kolabsys.com
Mon Aug 18 10:41:56 CEST 2014
resources/kolab/kolabhelpers.cpp | 92 +++++++++++++++++++-------------------
resources/kolab/kolabresource.cpp | 2
2 files changed, 47 insertions(+), 47 deletions(-)
New commits:
commit dcf7934aed0c155f6b0612b9a27aa4fb4868dd3e
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date: Wed Aug 13 13:27:11 2014 +0200
KolabResource: Catch Payload exceptions
diff --git a/resources/kolab/kolabhelpers.cpp b/resources/kolab/kolabhelpers.cpp
index 084bcb5..d9d1c6d 100644
--- a/resources/kolab/kolabhelpers.cpp
+++ b/resources/kolab/kolabhelpers.cpp
@@ -210,52 +210,54 @@ Akonadi::Item KolabHelpers::translateToImap(const Akonadi::Item &item, bool &ok)
//Everthing stays the same, except mime type and payload
Akonadi::Item imapItem = item;
imapItem.setMimeType( QLatin1String("message/rfc822") );
- switch(getKolabTypeFromMimeType(item.mimeType())) {
- case Kolab::EventObject:
- case Kolab::TodoObject:
- case Kolab::JournalObject:
- {
- Q_ASSERT(item.hasPayload<KCalCore::Incidence::Ptr>());
- kDebug() << "converted event";
- const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeIncidence(
- item.payload<KCalCore::Incidence::Ptr>(),
- Kolab::KolabV3, productId, QLatin1String("UTC") );
- imapItem.setPayload( message );
- }
- break;
- case Kolab::NoteObject:
- {
- Q_ASSERT(item.hasPayload<KMime::Message::Ptr>());
- kDebug() << "converted note";
- const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeNote(
- item.payload<KMime::Message::Ptr>(), Kolab::KolabV3, productId);
- imapItem.setPayload( message );
- }
- break;
- case Kolab::ContactObject:
- {
- Q_ASSERT(item.hasPayload<KABC::Addressee>());
- kDebug() << "converted contact";
- const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeContact(
- item.payload<KABC::Addressee>(), Kolab::KolabV3, productId);
- imapItem.setPayload( message );
- }
- break;
- case Kolab::DistlistObject:
- {
- Q_ASSERT(item.hasPayload<KABC::ContactGroup>());
- const KABC::ContactGroup contactGroup = convertToGidOnly(item.payload<KABC::ContactGroup>());
- kDebug() << "converted distlist";
- const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeDistlist(
- contactGroup, Kolab::KolabV3, productId);
- imapItem.setPayload( message );
- }
- break;
- default:
- kWarning() << "object type not handled: " << item.id() << item.mimeType();
- ok = false;
- return Akonadi::Item();
+ try {
+ switch(getKolabTypeFromMimeType(item.mimeType())) {
+ case Kolab::EventObject:
+ case Kolab::TodoObject:
+ case Kolab::JournalObject:
+ {
+ kDebug() << "converted event";
+ const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeIncidence(
+ item.payload<KCalCore::Incidence::Ptr>(),
+ Kolab::KolabV3, productId, QLatin1String("UTC") );
+ imapItem.setPayload( message );
+ }
+ break;
+ case Kolab::NoteObject:
+ {
+ kDebug() << "converted note";
+ const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeNote(
+ item.payload<KMime::Message::Ptr>(), Kolab::KolabV3, productId);
+ imapItem.setPayload( message );
+ }
+ break;
+ case Kolab::ContactObject:
+ {
+ kDebug() << "converted contact";
+ const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeContact(
+ item.payload<KABC::Addressee>(), Kolab::KolabV3, productId);
+ imapItem.setPayload( message );
+ }
+ break;
+ case Kolab::DistlistObject:
+ {
+ const KABC::ContactGroup contactGroup = convertToGidOnly(item.payload<KABC::ContactGroup>());
+ kDebug() << "converted distlist";
+ const KMime::Message::Ptr message = Kolab::KolabObjectWriter::writeDistlist(
+ contactGroup, Kolab::KolabV3, productId);
+ imapItem.setPayload( message );
+ }
+ break;
+ default:
+ kWarning() << "object type not handled: " << item.id() << item.mimeType();
+ ok = false;
+ return Akonadi::Item();
+ }
+ } catch (Akonadi::PayloadException e) {
+ kWarning() << "The item contains the wrong or no payload: " << item.id() << item.mimeType();
+ kWarning() << e.what();
+ return Akonadi::Item();
}
if (checkForErrors(item)) {
commit 54f081b869c53f28914554de7c4550c1ae1d65d3
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date: Mon Aug 11 21:59:05 2014 +0200
Don't keep local mimetypes and access rights.
Since we're getting the relevant metadata we can overwrite the local information.
diff --git a/resources/kolab/kolabresource.cpp b/resources/kolab/kolabresource.cpp
index 6348e20..2d6db5e 100644
--- a/resources/kolab/kolabresource.cpp
+++ b/resources/kolab/kolabresource.cpp
@@ -68,8 +68,6 @@ ResourceStateInterface::Ptr KolabResource::createResourceState(const TaskArgumen
void KolabResource::retrieveCollections()
{
emit status(AgentBase::Running, i18nc("@info:status", "Retrieving folders"));
-
- setKeepLocalCollectionChanges(QSet<QByteArray>() << "CONTENTMIMETYPES" << "AccessRights");
startTask(new KolabRetrieveCollectionsTask(createResourceState(TaskArguments()), this));
}
More information about the commits
mailing list