*** RemoteSearchable.java 17 Feb 2004 19:00:31 -0000 1.4
--- RemoteSearchable.java 26 Feb 2004 19:25:21 -0000
***************
*** 1,133 ****
! package org.apache.lucene.search;
!
! /* ====================================================================
! * The Apache Software License, Version 1.1
! *
! * Copyright (c) 2001 The Apache Software Foundation. All rights
! * reserved.
! *
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions
! * are met:
! *
! * 1. Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! *
! * 2. Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in
! * the documentation and/or other materials provided with the
! * distribution.
! *
! * 3. The end-user documentation included with the redistribution,
! * if any, must include the following acknowledgment:
! * "This product includes software developed by the
! * Apache Software Foundation (http://www.apache.org/)."
! * Alternately, this acknowledgment may appear in the software itself,
! * if and wherever such third-party acknowledgments normally appear.
! *
! * 4. The names "Apache" and "Apache Software Foundation" and
! * "Apache Lucene" must not be used to endorse or promote products
! * derived from this software without prior written permission. For
! * written permission, please contact apache@apache.org.
! *
! * 5. Products derived from this software may not be called "Apache",
! * "Apache Lucene", nor may "Apache" appear in their name, without
! * prior written permission of the Apache Software Foundation.
! *
! * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
! * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
! * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
! * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
! * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
! * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
! * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
! * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
! * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
! * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! * SUCH DAMAGE.
! * ====================================================================
! *
! * This software consists of voluntary contributions made by many
! * individuals on behalf of the Apache Software Foundation. For more
! * information on the Apache Software Foundation, please see
! * .
! */
!
! import java.io.IOException;
!
! import java.rmi.Naming;
! import java.rmi.RemoteException;
! import java.rmi.RMISecurityManager;
! import java.rmi.server.UnicastRemoteObject;
!
! import org.apache.lucene.document.Document;
! import org.apache.lucene.index.Term;
!
! /** A remote searchable implementation. */
! public class RemoteSearchable
! extends UnicastRemoteObject
! implements Searchable {
!
! private Searchable local;
!
! /** Constructs and exports a remote searcher. */
! public RemoteSearchable(Searchable local) throws RemoteException {
! super();
! this.local = local;
! }
!
! public void search(Query query, Filter filter, HitCollector results)
! throws IOException {
! local.search(query, filter, results);
! }
!
! public void close() throws IOException {
! local.close();
! }
!
! public int docFreq(Term term) throws IOException {
! return local.docFreq(term);
! }
!
! public int maxDoc() throws IOException {
! return local.maxDoc();
! }
!
! public TopDocs search(Query query, Filter filter, int n) throws IOException {
! return local.search(query, filter, n);
! }
!
! public TopFieldDocs search (Query query, Filter filter, int n, Sort sort)
! throws IOException {
! return local.search (query, filter, n, sort);
! }
!
! public Document doc(int i) throws IOException {
! return local.doc(i);
! }
!
! public Query rewrite(Query original) throws IOException {
! return local.rewrite(original);
! }
!
! public Explanation explain(Query query, int doc) throws IOException {
! return local.explain(query, doc);
! }
!
! /** Exports a searcher for the index in args[0] named
! * "//localhost/Searchable". */
! public static void main(String args[]) throws Exception {
! // create and install a security manager
! if (System.getSecurityManager() == null) {
! System.setSecurityManager(new RMISecurityManager());
! }
!
! Searchable local = new IndexSearcher(args[0]);
! RemoteSearchable impl = new RemoteSearchable(local);
!
! // bind the implementation to "Searchable"
! Naming.rebind("//localhost/Searchable", impl);
! }
!
! }
--- 1,142 ----
! package org.apache.lucene.search;
!
! /* ====================================================================
! * The Apache Software License, Version 1.1
! *
! * Copyright (c) 2001 The Apache Software Foundation. All rights
! * reserved.
! *
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions
! * are met:
! *
! * 1. Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! *
! * 2. Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in
! * the documentation and/or other materials provided with the
! * distribution.
! *
! * 3. The end-user documentation included with the redistribution,
! * if any, must include the following acknowledgment:
! * "This product includes software developed by the
! * Apache Software Foundation (http://www.apache.org/)."
! * Alternately, this acknowledgment may appear in the software itself,
! * if and wherever such third-party acknowledgments normally appear.
! *
! * 4. The names "Apache" and "Apache Software Foundation" and
! * "Apache Lucene" must not be used to endorse or promote products
! * derived from this software without prior written permission. For
! * written permission, please contact apache@apache.org.
! *
! * 5. Products derived from this software may not be called "Apache",
! * "Apache Lucene", nor may "Apache" appear in their name, without
! * prior written permission of the Apache Software Foundation.
! *
! * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
! * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
! * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
! * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
! * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
! * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
! * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
! * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
! * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
! * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! * SUCH DAMAGE.
! * ====================================================================
! *
! * This software consists of voluntary contributions made by many
! * individuals on behalf of the Apache Software Foundation. For more
! * information on the Apache Software Foundation, please see
! * .
! */
!
! import java.io.IOException;
! import java.rmi.Naming;
! import java.rmi.RMISecurityManager;
! import java.rmi.RemoteException;
! import java.rmi.server.UnicastRemoteObject;
!
! import org.apache.lucene.document.Document;
! import org.apache.lucene.index.Term;
!
! /** A remote searchable implementation. */
! public class RemoteSearchable
! extends UnicastRemoteObject
! implements Searchable {
!
! private Searchable local;
!
! /** Constructs and exports a remote searcher. */
! public RemoteSearchable(Searchable local) throws RemoteException {
! super();
! this.local = local;
! }
!
! public void search(Query query, Filter filter, HitCollector results)
! throws IOException {
! local.search(query, filter, results);
! }
!
! public void close() throws IOException {
! local.close();
! }
!
! public int docFreq(Term term) throws IOException {
! return local.docFreq(term);
! }
!
! public int maxDoc() throws IOException {
! return local.maxDoc();
! }
!
! public TopDocs search(Query query, Filter filter, int n) throws IOException {
! return local.search(query, filter, n);
! }
!
! public TopFieldDocs search (Query query, Filter filter, int n, Sort sort)
! throws IOException {
! return local.search (query, filter, n, sort);
! }
!
! public Document doc(int i) throws IOException {
! return local.doc(i);
! }
!
! public Query rewrite(Query original) throws IOException {
! return local.rewrite(original);
! }
!
! public Explanation explain(Query query, int doc) throws IOException {
! return local.explain(query, doc);
! }
!
! /** Exports a searcher for the index in args[0] named
! * "//localhost/Searchable". */
! public static void main(String args[]) throws Exception {
! // create and install a security manager
! if (System.getSecurityManager() == null) {
! System.setSecurityManager(new RMISecurityManager());
! }
!
! Searchable local = new IndexSearcher(args[0]);
! RemoteSearchable impl = new RemoteSearchable(local);
!
! // bind the implementation to "Searchable"
! Naming.rebind("//localhost/Searchable", impl);
! }
!
! /** Returns the searchable. */
! public final Searchable getSearchable() {
! return local;
! }
!
! /** Sets the searcherable. */
! public final void setSearchable(Searchable s) {
! this.local = s;
! }
!
! }