[Yanel-commits] rev 43994 - public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search

michi at wyona.com michi at wyona.com
Wed Aug 5 10:29:37 CEST 2009


Author: michi
Date: 2009-08-05 10:29:37 +0200 (Wed, 05 Aug 2009)
New Revision: 43994

Modified:
   public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/Result.java
   public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java
Log:
last modified started and title and excerpt started

Modified: public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/Result.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/Result.java	2009-08-05 08:06:09 UTC (rev 43993)
+++ public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/Result.java	2009-08-05 08:29:37 UTC (rev 43994)
@@ -1,5 +1,7 @@
 package org.wyona.yanel.impl.resources.search;
 
+import java.util.Date;
+
 /**
  *
  */
@@ -9,15 +11,17 @@
     private String title;
     private String desc;
     private String contentType;
+    private Date lastModified;
 
     /**
      * @param desc Description
      */
-    public Result(String url, String title, String desc, String contentType) {
+    public Result(String url, String title, String desc, String contentType, Date lastModified) {
         this.url = url;
         this.title = title;
         this.desc = desc;
         this.contentType = contentType;
+        this.lastModified = lastModified;
     }
 
     /**
@@ -47,4 +51,11 @@
      public String getContentType() {
          return contentType;
      }
+
+    /**
+     * Get last modified date
+     */
+     public Date getLastModified() {
+         return lastModified;
+     }
 }

Modified: public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java	2009-08-05 08:06:09 UTC (rev 43993)
+++ public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java	2009-08-05 08:29:37 UTC (rev 43994)
@@ -81,9 +81,9 @@
                 if (provider.equals(DEFAULT_PROVIDER)) {
                     results = getLocalResults(query);
                 } else if (provider.equals("yanelproxy-google")) {
-                    results = getGoogleResults(query);
+                    results = getProxyResults(query, "org.wyona.meguni.parser.impl.GoogleParser");
                 } else if (provider.equals("yanelproxy-msn")) {
-                    results = getMSNResults(query);
+                    results = getProxyResults(query, "org.wyona.meguni.parser.impl.MSNParser");
                 } else {
                     results = new Result[0];
                     String eMessage = "No such provider: " + provider;
@@ -96,10 +96,15 @@
                     for (int i = 0; i < results.length; i++) {
                         sb.append("<y:result url=\"" + results[i].getURL() + "\">");
                         if (results[i].getTitle() != null) {
-                            sb.append("  <y:title>" + results[i].getTitle() + "</y:title>");
+                            sb.append("  <y:title><![CDATA[" + results[i].getTitle() + "]]></y:title>");
                         } else {
                             sb.append("  <y:no-title/>");
                         }
+                        if (results[i].getDescription() != null) {
+                            sb.append("  <y:excerpt><![CDATA[" + results[i].getDescription() + "]]></y:excerpt>");
+                        } else {
+                            sb.append("  <y:no-excerpt/>");
+                        }
                         sb.append("</y:result>");
                     }
                     sb.append("</y:results>");
@@ -124,7 +129,8 @@
             if (nodes != null && nodes.length > 0) {
                 Result[] results = new Result[nodes.length];
                 for (int i = 0; i < nodes.length; i++) {
-                    results[i] = new Result(nodes[i].getPath(), null, null, nodes[i].getMimeType());
+                    results[i] = new Result(nodes[i].getPath(), "TODO: title", "TODO: excerpt", nodes[i].getMimeType(), null);
+                    //results[i] = new Result(nodes[i].getPath(), null, null, nodes[i].getMimeType(), null);
                 }
                 return results;
             } else {
@@ -139,17 +145,17 @@
     /**
      *
      */
-    private Result[] getGoogleResults(String query) throws Exception {
-        String className = getResourceConfigProperty("parser");
-        if (className == null) className = "org.wyona.meguni.parser.impl.GoogleParser";
-        //if (className == null) className = "org.wyona.meguni.parser.impl.MSNParser";
-        Parser parser = (Parser) Class.forName(className).newInstance();
+    private Result[] getProxyResults(String query, String parserClassName) throws Exception {
+        Parser parser = (Parser) Class.forName(parserClassName).newInstance();
         ResultSet rs = parser.parse(query);
 
         if (rs != null && rs.size() > 0) {
             Result[] results = new Result[rs.size()];
             for (int i = 0; i < rs.size(); i++) {
-                results[i] = new Result(rs.get(i).url.toString(), null, null, null);
+                log.warn("DEBUG: Title: " + rs.get(i).title);
+                log.warn("DEBUG: Excerpt: " + rs.get(i).excerpt);
+                results[i] = new Result(rs.get(i).url.toString(), null, null, null, null);
+                //results[i] = new Result(rs.get(i).url.toString(), rs.get(i).title, rs.get(i).excerpt, null, null);
             }
             return results;
         } else {
@@ -158,26 +164,6 @@
     }
 
     /**
-     *
-     */
-    private Result[] getMSNResults(String query) throws Exception {
-        String className = getResourceConfigProperty("parser");
-        if (className == null) className = "org.wyona.meguni.parser.impl.MSNParser";
-        Parser parser = (Parser) Class.forName(className).newInstance();
-        ResultSet rs = parser.parse(query);
-
-        if (rs != null && rs.size() > 0) {
-            Result[] results = new Result[rs.size()];
-            for (int i = 0; i < rs.size(); i++) {
-                results[i] = new Result(rs.get(i).url.toString(), null, null, null);
-            }
-            return results;
-        } else {
-            return new Result[0];
-        }
-    }
-
-    /**
      * @see org.wyona.yanel.core.api.attributes.ViewableV2#exists()
      */
     public boolean exists() throws Exception {



More information about the Yanel-commits mailing list