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]>

Reply via email to