From f6cbafd5db9d75bda4e45d4c2ffb60e9cd174d9b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 10 Feb 2016 14:58:53 +0100 Subject: Avoid constantly printing errors ...if the mimeMessage property is not loaded by a query --- common/domain/applicationdomaintype.cpp | 6 ++++++ common/domain/applicationdomaintype.h | 3 ++- examples/maildirresource/facade.cpp | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/common/domain/applicationdomaintype.cpp b/common/domain/applicationdomaintype.cpp index 1649cb4..df10327 100644 --- a/common/domain/applicationdomaintype.cpp +++ b/common/domain/applicationdomaintype.cpp @@ -64,6 +64,12 @@ ApplicationDomainType::~ApplicationDomainType() { } +bool ApplicationDomainType::hasProperty(const QByteArray &key) const +{ + Q_ASSERT(mAdaptor); + return mAdaptor->availableProperties().contains(key); +} + QVariant ApplicationDomainType::getProperty(const QByteArray &key) const { Q_ASSERT(mAdaptor); diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index 858049c..32d8999 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h @@ -57,7 +57,8 @@ public: virtual ~ApplicationDomainType(); - QVariant getProperty(const QByteArray &key) const;; + bool hasProperty(const QByteArray &key) const; + QVariant getProperty(const QByteArray &key) const; void setProperty(const QByteArray &key, const QVariant &value); void setChangedProperties(const QSet &changeset); QByteArrayList changedProperties() const; diff --git a/examples/maildirresource/facade.cpp b/examples/maildirresource/facade.cpp index a10a18b..a7a0348 100644 --- a/examples/maildirresource/facade.cpp +++ b/examples/maildirresource/facade.cpp @@ -29,8 +29,8 @@ MaildirResourceMailFacade::MaildirResourceMailFacade(const QByteArray &instanceI : Sink::GenericFacade(instanceIdentifier, QSharedPointer::create()) { mResultTransformation = [](Sink::ApplicationDomain::ApplicationDomainType &value) { - const auto property = value.getProperty("mimeMessage"); - if (property.isValid()) { + if (value.hasProperty("mimeMessage")) { + const auto property = value.getProperty("mimeMessage"); //Transform the mime message property into the actual path on disk. const auto mimeMessage = property.toString(); auto parts = mimeMessage.split('/'); -- cgit v1.2.3