On Tue, Jul 3, 2012 at 12:15 AM, Sebastian Trüg <[email protected]> wrote:
> I don't think the pimo code being very complicated. And it is very > separate from the rest. > I would not remove it but if you really want to it would be fine with me. > > Hmm. Well, the groundingOccurance and everything isn't watched by the resourcewatcher. So, it has an additional overhead. For now I'm removing them, once the port to shared memory is done, I might add them again. But I want the flexibility of not having to worry about deprecating them/supporting them forever. Right now, I can still mess with the source compatibility. > On 07/01/2012 03:08 PM, Vishesh Handa wrote: > >> Oh yeah. Also, can we get rid of all the pimo stuff from the Resource >> class? >> >> AFAIK, no one really uses any of the pimo features over there and they >> really complicate the code base. >> >> commit 755131d501c687c790c166f8d1ce4d**1b56550301 >> Author: Vishesh Handa <[email protected] <mailto:[email protected]>> >> >> Date: Sat Jun 30 11:32:09 2012 +0530 >> >> Loose all the pimo related functions >> >> No one uses them and they complicate the code base. We want this code >> base to be as simple as possible. >> >> diff --git a/libnepomukcore/resource/**resource.cpp >> b/libnepomukcore/resource/**resource.cpp >> index b559f07..c237f44 100644 >> --- a/libnepomukcore/resource/**resource.cpp >> +++ b/libnepomukcore/resource/**resource.cpp >> @@ -25,7 +25,6 @@ >> #include "tools.h" >> #include "tag.h" >> #include "pimo.h" >> -#include "thing.h" >> #include "file.h" >> #include "property.h" >> #include "nfo.h" >> @@ -283,9 +282,9 @@ QString Nepomuk2::Resource::**genericLabel() const >> if(!label.isEmpty()) >> return label; >> >> - label = m_data->pimoThing().label(); >> - if(!label.isEmpty()) >> - return label; >> + //label = m_data->pimoThing().label(); >> + //if(!label.isEmpty()) >> + // return label; >> >> label = property( Nepomuk2::Vocabulary::NFO::**fileName() >> ).toString(); >> if(!label.isEmpty()) >> @@ -357,13 +356,6 @@ QString Nepomuk2::Resource::**genericIcon() const >> } >> >> >> -Nepomuk2::Thing Nepomuk2::Resource::pimoThing(**) >> -{ >> - determineFinalResourceData(); >> - return m_data->pimoThing(); >> -} >> - >> - >> bool Nepomuk2::Resource::operator==**( const Resource& other ) const >> { >> if( this == &other ) >> diff --git a/libnepomukcore/resource/**resource.h >> b/libnepomukcore/resource/**resource.h >> index 2edb562..3cc30c2 100644 >> --- a/libnepomukcore/resource/**resource.h >> +++ b/libnepomukcore/resource/**resource.h >> @@ -35,7 +35,6 @@ namespace Nepomuk2 { >> class ResourceData; >> class Variant; >> class Tag; >> - class Thing; >> class File; >> namespace Types { >> class Property; >> @@ -344,16 +343,6 @@ namespace Nepomuk2 { >> QString genericIcon() const; >> >> /** >> - * Get or create the PIMO thing that relates to this resource. >> If this resource >> - * itself is a pimo:Thing, a reference to this is returned. If >> a pimo:Thing exists >> - * with has as occurrence this resource, the thing is returned. >> Otherwise a new thing >> - * is created. >> - * >> - * \since 4.2 >> - */ >> - Thing pimoThing(); >> - >> - /** >> * Operator to compare two Resource objects. >> */ >> bool operator==( const Resource& ) const; >> diff --git a/libnepomukcore/resource/**resourcedata.cpp >> b/libnepomukcore/resource/**resourcedata.cpp >> index f908177..e19b4bd 100644 >> --- a/libnepomukcore/resource/**resourcedata.cpp >> +++ b/libnepomukcore/resource/**resourcedata.cpp >> @@ -54,6 +54,8 @@ using namespace Soprano; >> >> #define MAINMODEL (m_rm->m_manager->mainModel()) >> >> +using namespace Soprano::Vocabulary; >> +using namespace Nepomuk2::Vocabulary; >> >> Nepomuk2::ResourceData::**ResourceData( const QUrl& uri, const QUrl& >> kickOffUri, const QUrl& type, ResourceManagerPrivate* rm ) >> : m_uri(uri), >> @@ -61,8 +63,6 @@ Nepomuk2::ResourceData::**ResourceData( const QUrl& >> uri, >> const QUrl& kickOffUri, c >> m_modificationMutex(QMutex::**Recursive), >> m_cacheDirty(false), >> m_addedToWatcher(false), >> - m_pimoThing(0), >> - m_groundingOccurence(0), >> m_rm(rm) >> { >> if( m_mainType.isEmpty() ) { >> @@ -197,9 +197,6 @@ void Nepomuk2::ResourceData::**resetAll( bool >> isDelete ) >> m_cache.clear(); >> m_cacheDirty = false; >> m_types.clear(); >> - delete m_pimoThing; >> - m_pimoThing = 0; >> - m_groundingOccurence = 0; >> >> // when we are being deleted the value of m_mainType is not >> important >> // anymore. Also since ResourceManager is a global static it might >> be >> @@ -321,13 +318,6 @@ bool Nepomuk2::ResourceData::store(**) >> m_rm->addToKickOffList( this, m_kickoffUris ); >> } >> >> - // store our grounding occurrence in case we are a thing >> created by the pimoThing() method >> - if( m_groundingOccurence ) { >> - if( m_groundingOccurence != this ) >> - m_groundingOccurence->store(); >> - setProperty(Vocabulary::PIMO::**groundingOccurrence(), >> Variant(m_groundingOccurence->**uri()) ); >> - } >> - >> foreach( const KUrl& url, m_kickoffUris ) { >> if( url.scheme().isEmpty() ) >> setProperty( Soprano::Vocabulary::NAO::**identifier(), >> Variant(url.url()) ); >> @@ -437,23 +427,6 @@ bool Nepomuk2::ResourceData::load() >> } >> >> m_cacheDirty = false; >> - >> - delete m_pimoThing; >> - m_pimoThing = 0; >> - if( hasType( Vocabulary::PIMO::Thing() ) ) { >> - m_pimoThing = new Thing( m_uri ); >> - } >> - else { >> - // TODO: somehow handle pimo:referencingOccurrence and >> pimo:occurrence >> - QueryResultIterator pimoIt = MAINMODEL->executeQuery( >> QString( "select ?r where { ?r <%1> <%2> . }") >> - >> .arg( Vocabulary::PIMO::**groundingOccurrence().**toString() ) >> - >> .arg( QString::fromAscii( m_uri.toEncoded() ) ), >> - >> Soprano::Query::**QueryLanguageSparqlNoInference ); >> - if( pimoIt.next() ) { >> - m_pimoThing = new Thing( pimoIt.binding("r").uri() ); >> - } >> - } >> - >> return true; >> } >> else { >> @@ -707,32 +680,6 @@ void Nepomuk2::ResourceData::**invalidateCache() >> } >> >> >> -Nepomuk2::Thing Nepomuk2::ResourceData::**pimoThing() >> -{ >> - load(); >> - if( !m_pimoThing ) { >> - // >> - // We only create a new thing if we are a nie:InformationElement. >> - // All other resources will simply be converted into a pimo:Thing >> - // >> - // Files, however, are a special case in every aspect. this >> includes pimo things. >> - // Files are their own grounding occurrence. This makes a lot >> of things >> - // much simpler. >> - // >> - if( hasType( Vocabulary::PIMO::Thing() ) || >> - isFile() || >> - !hasType( Vocabulary::NIE::**InformationElement() ) ) { >> - m_pimoThing = new Thing(this); >> - } >> - else { >> - m_pimoThing = new Thing(); >> - } >> - m_pimoThing->m_data->m_**groundingOccurence = this; >> - } >> - return *m_pimoThing; >> -} >> - >> - >> bool Nepomuk2::ResourceData::**operator==( const ResourceData& other ) >> const >> { >> if( this == &other ) >> diff --git a/libnepomukcore/resource/**resourcedata.h >> b/libnepomukcore/resource/**resourcedata.h >> index c6b267f..3708897 100644 >> --- a/libnepomukcore/resource/**resourcedata.h >> +++ b/libnepomukcore/resource/**resourcedata.h >> @@ -29,7 +29,6 @@ >> #include <QtCore/QSet> >> >> #include "variant.h" >> -#include "thing.h" >> #include <kurl.h> >> >> #include <soprano/statement.h> >> @@ -157,8 +156,6 @@ namespace Nepomuk2 { >> >> void invalidateCache(); >> >> - Thing pimoThing(); >> - >> /** >> * Compares the properties of two ResourceData objects taking >> into account the Deleted flag >> */ >> @@ -205,12 +202,6 @@ namespace Nepomuk2 { >> bool m_cacheDirty; >> bool m_addedToWatcher; >> >> - // using a pointer to avoid infinite creation loop >> - Thing* m_pimoThing; >> - >> - // only used for delayed storage of the pimo thing relation >> - ResourceData* m_groundingOccurence; >> - >> ResourceManagerPrivate* m_rm; >> }; >> } >> >> >> >> On Sun, Jul 1, 2012 at 4:39 PM, Vishesh Handa <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hey Sebastian >> >> I still have around 3 more weeks during which I'm allowed to break >> ABI and API compatibility. I was thinking of changing - >> >> * Resource::resourceUri() -> Resource::uri() >> * Resource::resourceType() -> Resource::type() >> >> Is that okay? >> >> -- >> Vishesh Handa >> >> >> >> >> -- >> Vishesh Handa >> >> -- Vishesh Handa
_______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
