juergen 02/01/08 06:29:33
Modified: src/share/org/apache/slide/search Search.java
SearchImpl.java SearchLanguage.java
Log:
get the supported search languages
Revision Changes Path
1.3 +23 -6 jakarta-slide/src/share/org/apache/slide/search/Search.java
Index: Search.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/Search.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Search.java 23 Jul 2001 05:38:41 -0000 1.2
+++ Search.java 8 Jan 2002 14:29:33 -0000 1.3
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/Search.java,v
1.2 2001/07/23 05:38:41 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2001/07/23 05:38:41 $
+ * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/Search.java,v
1.3 2002/01/08 14:29:33 juergen Exp $
+ * $Revision: 1.3 $
+ * $Date: 2002/01/08 14:29:33 $
*
* ====================================================================
*
@@ -68,12 +68,13 @@
import org.apache.slide.structure.*;
import org.apache.slide.authenticate.CredentialsToken;
import org.apache.slide.util.Configuration;
+import org.w3c.dom.Element;
/**
* Search helper.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public interface Search {
@@ -81,11 +82,16 @@
// ------------------------------------------------------ Interface Methods
+
/**
- * Search.
+ * Method search
+ *
+ * @param token a SlideToken
+ * @param query a SearchQuery
+ *
+ * @return the SearchQueryResult
*
- * @param token Credentials token
- * @exception ServiceAccessException DataSource access error
+ * @throws ServiceAccessException DataSource access error
*/
SearchQueryResult search(SlideToken token, SearchQuery query)
throws ServiceAccessException;
@@ -94,7 +100,18 @@
/**
* Return the allowed query languages.
*/
- public SearchLanguage[] getSupportedLanguages(SlideToken token);
+ SearchLanguage[] getSupportedLanguages(SlideToken token);
+ /**
+ * retrieves the language bound to a specific grammarUri.
+ *
+ * @param grammarUri the URI specifying the grammar
+ *
+ * @return the SearchLanguage or null, if not found.
+ *
+ * @throws InvalidQueryException
+ *
+ */
+ SearchLanguage getLanguage (String grammarUri) throws InvalidQueryException;
}
1.3 +40 -8 jakarta-slide/src/share/org/apache/slide/search/SearchImpl.java
Index: SearchImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SearchImpl.java 23 Jul 2001 05:38:41 -0000 1.2
+++ SearchImpl.java 8 Jan 2002 14:29:33 -0000 1.3
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchImpl.java,v 1.2
2001/07/23 05:38:41 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2001/07/23 05:38:41 $
+ * $Header:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchImpl.java,v 1.3
2002/01/08 14:29:33 juergen Exp $
+ * $Revision: 1.3 $
+ * $Date: 2002/01/08 14:29:33 $
*
* ====================================================================
*
@@ -63,25 +63,27 @@
package org.apache.slide.search;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.HashMap;
+import java.util.Map;
+
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import org.apache.slide.common.*;
import org.apache.slide.structure.*;
import org.apache.slide.authenticate.CredentialsToken;
import org.apache.slide.util.Configuration;
+import org.apache.slide.util.logger.Logger;
+
+
/**
* Search helper.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public final class SearchImpl implements Search {
-
// ----------------------------------------------------------- Constructors
@@ -99,6 +101,24 @@
// ----------------------------------------------------- Instance Variables
+ // TODO: must be configurable in domain.xml (Namespace.java)
+ private static final SearchLanguage [] SEARCH_LANGUAGES = {
+ new BasicSearchLanguage ()
+ };
+
+
+ private static final Map GRAMMAR_BY_URI = new HashMap ();
+ static {
+ for (int i = 0; i < SEARCH_LANGUAGES.length; i++)
+ GRAMMAR_BY_URI.put (SEARCH_LANGUAGES [i].getGrammarUri(),
+ SEARCH_LANGUAGES [i]);
+ }
+
+ /**
+ * Log channel for logger
+ */
+ private final static String LOG_CHANNEL = SearchImpl.class.getName();
+
/**
* Namespace.
@@ -124,6 +144,7 @@
*/
public SearchQueryResult search(SlideToken token, SearchQuery query)
throws ServiceAccessException {
+
return null;
}
@@ -131,8 +152,19 @@
/**
* Return the allowed query languages.
*/
- public SearchLanguage[] getSupportedLanguages(SlideToken token) {
- return null;
+ public SearchLanguage[] getSupportedLanguages (SlideToken token) {
+ return SEARCH_LANGUAGES;
+ }
+
+
+ public SearchLanguage getLanguage (String grammarUri)
+ throws InvalidQueryException
+ {
+ SearchLanguage result =(SearchLanguage) GRAMMAR_BY_URI.get (grammarUri);
+ if (result == null)
+ throw new InvalidQueryException ("grammar not found: " + grammarUri);
+
+ return result;
}
1.2 +11 -3
jakarta-slide/src/share/org/apache/slide/search/SearchLanguage.java
Index: SearchLanguage.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchLanguage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SearchLanguage.java 23 Jul 2001 05:38:41 -0000 1.1
+++ SearchLanguage.java 8 Jan 2002 14:29:33 -0000 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchLanguage.java,v 1.1
2001/07/23 05:38:41 remm Exp $
- * $Revision: 1.1 $
- * $Date: 2001/07/23 05:38:41 $
+ * $Header:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/SearchLanguage.java,v 1.2
2002/01/08 14:29:33 juergen Exp $
+ * $Revision: 1.2 $
+ * $Date: 2002/01/08 14:29:33 $
*
* ====================================================================
*
@@ -69,7 +69,7 @@
* Base class for a search language.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public abstract class SearchLanguage {
@@ -78,10 +78,18 @@
/**
- * Returns this language's name.
+ * Returns this language's name. This is the name of the first
+ * element within the searchrequest.
*/
public abstract String getName();
+ /**
+ * Returns the grammar URI for this language, this is
+ * what the DASL response Header returns.
+ *
+ * @return the URI identifying this language
+ */
+ public abstract String getGrammarUri ();
/**
* Generate a query object from a String.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>