[Yanel-commits] rev 29822 - public/yanel/contributions/realms/foaf/src/resources/findfriend/src/java/org/wyona/yanel/impl/resources/findfriend

michi at wyona.com michi at wyona.com
Wed Dec 12 23:07:11 CET 2007


Author: michi
Date: 2007-12-12 23:07:11 +0100 (Wed, 12 Dec 2007)
New Revision: 29822

Modified:
   public/yanel/contributions/realms/foaf/src/resources/findfriend/src/java/org/wyona/yanel/impl/resources/findfriend/FindFriendResource.java
Log:
no-results fixed

Modified: public/yanel/contributions/realms/foaf/src/resources/findfriend/src/java/org/wyona/yanel/impl/resources/findfriend/FindFriendResource.java
===================================================================
--- public/yanel/contributions/realms/foaf/src/resources/findfriend/src/java/org/wyona/yanel/impl/resources/findfriend/FindFriendResource.java	2007-12-12 21:47:38 UTC (rev 29821)
+++ public/yanel/contributions/realms/foaf/src/resources/findfriend/src/java/org/wyona/yanel/impl/resources/findfriend/FindFriendResource.java	2007-12-12 22:07:11 UTC (rev 29822)
@@ -115,9 +115,12 @@
 
             if (resultSet != null && resultSet.size() > 0) {
                 sb.append("<provider source-name=\"" + resultSet.getSourceName() + "\" source-domain=\"" + resultSet.getSourceDomain() + "\" numberOfResults=\"" + resultSet.size() + "\">");
+
+                int numberOfDisplayedResults = 0;
                 for (int k = 0;k < resultSet.size(); k++) {
                     java.net.URL url = resultSet.get(k).url;
                     if (url.toString().endsWith("rdf")) {
+                        numberOfDisplayedResults = numberOfDisplayedResults + 1;
                         sb.append("<result number=\"" + (k+1) + "\" source-name=\"" + resultSet.getSourceName() + "\">");
                         sb.append("<title><![CDATA[" + resultSet.get(k).title + "]]></title>");
                         sb.append("<excerpt><![CDATA[" + resultSet.get(k).excerpt + "]]></excerpt>");
@@ -130,6 +133,9 @@
                         log.warn("Does not seem to be a RDF: " + url);
                     }
                 }
+                if (numberOfDisplayedResults < 1) {
+                    sb.append("<no-results/>");
+                }
                 sb.append("</provider>");
             }
         } catch (Exception e) {
@@ -143,11 +149,11 @@
      */
     private StringBuffer getLocalResults(String qs) throws Exception {
         StringBuffer sb = new StringBuffer("");
-        sb.append("<provider source-name=\"" + "Wyona-FOAF" + "\" source-domain=\"" + "http://foaf.wyona.org" + "\" numberOfResults=\"" + "1" + "\">");
 
         Repository pRepo = getProfilesRepository();
         Node[] pNodes = pRepo.search(qs);
-        if (pNodes != null) {
+        if (pNodes != null && pNodes.length > 0) {
+            sb.append("<provider source-name=\"" + "Wyona-FOAF" + "\" source-domain=\"" + "http://foaf.wyona.org" + "\" numberOfResults=\"" + pNodes.length + "\">");
             for (int i = 0; i < pNodes.length; i++) {
                 org.wyona.foaf.api.basics.Person person = new org.wyona.foaf.impl.basics.PersonImpl(pNodes[i].getInputStream());
                 sb.append("<result number=\"" + "1" + "\" source-name=\"" + "Wyona-FOAF" + "\">");
@@ -158,9 +164,10 @@
                 sb.append("<mime-type suffix=\"html\">application/xhtml+xml</mime-type>");
                 sb.append("</result>");
             }
-            } else {
-                sb.append("<no-results/>");
-            }
+        } else {
+            sb.append("<provider source-name=\"" + "Wyona-FOAF" + "\" source-domain=\"" + "http://foaf.wyona.org" + "\" numberOfResults=\"" + "0" + "\">");
+            sb.append("<no-results/>");
+        }
 
 // TODO: Implement Advanced Search
 /*



More information about the Yanel-commits mailing list