[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/nepomuk/services/backupsync/lib
From:       Vishesh Handa <handa.vish () gmail ! com>
Date:       2011-01-28 7:06:17
Message-ID: 20110128070617.E3124AC8BB () svn ! kde ! org
[Download RAW message or body]

SVN commit 1217706 by vhanda:

Make the ResourceMerger work with blank uris

 M  +8 -6      resourcemerger.cpp  


--- trunk/KDE/kdebase/runtime/nepomuk/services/backupsync/lib/resourcemerger.cpp #1217705:1217706
@@ -51,7 +51,7 @@
     QHash<KUrl, Resource> m_newMappings;
 
     void push( const Soprano::Statement & st, const KUrl & graphUri );
-    KUrl resolve( const KUrl& oldUri );
+    KUrl resolve( const Soprano::Node & n );
 };
 
 Nepomuk::Sync::ResourceMerger::Private::Private(Nepomuk::Sync::ResourceMerger* resMerger)
@@ -134,11 +134,11 @@
         if( !st.isValid() )
             continue;
 
-        st.setSubject( d->resolve( st.subject().uri() ) );
-        if( st.object().isResource() ) {
-            KUrl resolvedObject = d->resolve( st.object().uri() );
+        st.setSubject( d->resolve( st.subject() ) );
+        if( st.object().isResource() || st.object().isBlank() ) {
+            KUrl resolvedObject = d->resolve( st.object() );
             if( resolvedObject.isEmpty() ) {
-                kDebug() << st.object().uri() << " resolution failed!";
+                kDebug() << st.object() << " resolution failed!";
                 continue;
             }
             st.setObject( resolvedObject );
@@ -170,8 +170,10 @@
 }
 
 
-KUrl Nepomuk::Sync::ResourceMerger::Private::resolve(const KUrl& oldUri)
+KUrl Nepomuk::Sync::ResourceMerger::Private::resolve(const Soprano::Node& n)
 {
+    const QUrl oldUri = n.isResource() ? n.uri() : QUrl(n.identifier());
+    
     // Find in mappings
     QHash< KUrl, Resource >::const_iterator it = m_oldMappings.constFind( oldUri );
     if( it != m_oldMappings.constEnd() ) {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic