[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