[Yanel-commits] rev 43977 - in
public/yanel/trunk/src/contributions/resources/search/src:
build java/org/wyona/yanel/impl/resources/search
michi at wyona.com
michi at wyona.com
Tue Aug 4 14:11:13 CEST 2009
Author: michi
Date: 2009-08-04 14:11:12 +0200 (Tue, 04 Aug 2009)
New Revision: 43977
Modified:
public/yanel/trunk/src/contributions/resources/search/src/build/dependencies.xml
public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java
Log:
different providers added
Modified: public/yanel/trunk/src/contributions/resources/search/src/build/dependencies.xml
===================================================================
--- public/yanel/trunk/src/contributions/resources/search/src/build/dependencies.xml 2009-08-04 12:09:50 UTC (rev 43976)
+++ public/yanel/trunk/src/contributions/resources/search/src/build/dependencies.xml 2009-08-04 12:11:12 UTC (rev 43977)
@@ -10,10 +10,12 @@
<dependency groupId="wyona-org-yanel" artifactId="yanel-core" version="${yanel.source.version}"/>
<dependency groupId="wyona-org-yanel" artifactId="yanel-impl" version="${yanel.source.version}"/>
<dependency groupId="javax.servlet" artifactId="servlet-api" version="2.3"/>
+ <dependency groupId="wyona-org-meguni" artifactId="wyona-org-meguni" version="0.1-rREVISION"/>
</artifact:dependencies>
<artifact:dependencies pathId="maven2.resource.classpath" filesetId="maven2.resource.fileset">
<remoteRepository refid="wyona.remote.repository"/>
+ <dependency groupId="wyona-org-meguni" artifactId="wyona-org-meguni" version="0.1-rREVISION"/>
<!-- No resource specific libs yet -->
</artifact:dependencies>
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-04 12:09:50 UTC (rev 43976)
+++ public/yanel/trunk/src/contributions/resources/search/src/java/org/wyona/yanel/impl/resources/search/SearchResource.java 2009-08-04 12:11:12 UTC (rev 43977)
@@ -11,6 +11,9 @@
import org.apache.log4j.Logger;
+import org.wyona.meguni.parser.Parser;
+import org.wyona.meguni.util.ResultSet;
+
/**
* Search resource
*/
@@ -38,12 +41,9 @@
if (provider.equals("yanel")) {
results = getLocalResults(query);
} else if (provider.equals("google")) {
- log.warn("Provider '" + provider + "' not implemented yet!");
- results = new Result[0];
- log.warn("Provider '" + provider + "' not implemented yet!");
+ results = getGoogleResults(query);
} else if (provider.equals("bing")) {
- results = new Result[0];
- log.warn("Provider '" + provider + "' not implemented yet!");
+ results = getMSNResults(query);
} else {
results = getLocalResults(query);
log.warn("No such provider: " + provider);
@@ -54,7 +54,7 @@
log.warn("No search provider specified!");
}
- sb.append("<y:provider>" + provider + "</y:provider>");
+ sb.append("<y:provider id=\"" + provider + "\">" + provider + "</y:provider>");
if (results != null && results.length > 0) {
sb.append("<y:results>");
@@ -95,6 +95,47 @@
}
/**
+ *
+ */
+ 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();
+ 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];
+ }
+ }
+
+ /**
+ *
+ */
+ 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 ViewableV2#exists()
*/
public boolean exists() {
More information about the Yanel-commits
mailing list