[Nepomuk] Nepomuk2::Resource backward compatibility
Vishesh Handa
me at vhanda.in
Tue Jul 3 12:44:50 UTC 2012
On Tue, Jul 3, 2012 at 12:15 AM, Sebastian Trüg <trueg at kde.org> 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 <me at vhanda.in <mailto:me at vhanda.in>>
>>
>> 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 <me at vhanda.in
>> <mailto:me at vhanda.in>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/nepomuk/attachments/20120703/5e56c573/attachment-0001.html>
More information about the Nepomuk
mailing list