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

List:       kde-commits
Subject:    KDE/kdebase/runtime/nepomuk/services/queryservice
From:       Sebastian Trueg <sebastian () trueg ! de>
Date:       2010-11-08 23:23:05
Message-ID: 20101108232305.82C8EAC8A0 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1194429 by trueg:

Provide a DBus error message in case of an invalid query or an empty query string.

 M  +16 -1     queryservice.cpp  


--- trunk/KDE/kdebase/runtime/nepomuk/services/queryservice/queryservice.cpp \
#1194428:1194429 @@ -82,20 +82,28 @@
         // backwards compatibility: in KDE <= 4.5 query() was what desktopQuery() is \
now  return desktopQuery( query, msg );
     }
-
+    else {
     kDebug() << "Query request:" << q;
     Folder* folder = getFolder( q );
     return ( new FolderConnection( folder ) )->registerDBusObject( msg.service(), \
++m_folderConnectionCnt );  }
+}
 
 
 QDBusObjectPath Nepomuk::Query::QueryService::desktopQuery( const QString& query, \
const QDBusMessage& msg )  {
     Query q = QueryParser::parseQuery( query );
+    if( !q.isValid() ) {
+        kDebug() << "Invalid desktop query:" << query;
+        QDBusConnection::sessionBus().send( msg.createErrorReply( \
QDBusError::InvalidArgs, i18n("Invalid desktop query: '%1'", query) ) ); +        \
return QDBusObjectPath(QLatin1String("/non/existing/path")); +    }
+    else {
     kDebug() << "Query request:" << q;
     Folder* folder = getFolder( q );
     return ( new FolderConnection( folder ) )->registerDBusObject( msg.service(), \
++m_folderConnectionCnt );  }
+}
 
 
 namespace {
@@ -113,10 +121,17 @@
 {
     kDebug() << "Query request:" << sparql << requestProps;
 
+    if( sparql.isEmpty() ) {
+        kDebug() << "Invalid SPARQL query:" << sparql;
+        QDBusConnection::sessionBus().send( msg.createErrorReply( \
QDBusError::InvalidArgs, i18n("Invalid SPARQL query: '%1'", sparql) ) ); +        \
return QDBusObjectPath(QLatin1String("/non/existing/path")); +    }
+    else {
     // create query folder + connection
     Folder* folder = getFolder( sparql, decodeRequestPropertiesList( requestProps ) \
                );
     return ( new FolderConnection( folder ) )->registerDBusObject( msg.service(), \
++m_folderConnectionCnt );  }
+}
 
 
 Nepomuk::Query::Folder* Nepomuk::Query::QueryService::getFolder( const Query& query \
)


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

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