You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by ot...@apache.org on 2004/01/29 13:25:10 UTC
cvs commit: jakarta-lucene/src/demo/org/apache/lucene/demo IndexFiles.java
otis 2004/01/29 04:25:10
Modified: src/demo/org/apache/lucene/demo IndexFiles.java
Log:
- Applied patch: http://issues.apache.org/bugzilla/show_bug.cgi?id=26397 with small changes
Revision Changes Path
1.2 +39 -61 jakarta-lucene/src/demo/org/apache/lucene/demo/IndexFiles.java
Index: IndexFiles.java
===================================================================
RCS file: /home/cvs/jakarta-lucene/src/demo/org/apache/lucene/demo/IndexFiles.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- IndexFiles.java 26 Jan 2002 15:01:31 -0000 1.1
+++ IndexFiles.java 29 Jan 2004 12:25:10 -0000 1.2
@@ -1,67 +1,31 @@
package org.apache.lucene.demo;
-/* ====================================================================
- * The Apache Software License, Version 1.1
+/**
+ * Copyright 2004 The Apache Software Foundation
*
- * 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
- * <http://www.apache.org/>.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.IndexWriter;
import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.Date;
class IndexFiles {
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
try {
Date start = new Date();
@@ -76,21 +40,35 @@
System.out.print(end.getTime() - start.getTime());
System.out.println(" total milliseconds");
- } catch (Exception e) {
+ } catch (IOException e) {
System.out.println(" caught a " + e.getClass() +
"\n with message: " + e.getMessage());
}
}
public static void indexDocs(IndexWriter writer, File file)
- throws Exception {
- if (file.isDirectory()) {
- String[] files = file.list();
- for (int i = 0; i < files.length; i++)
- indexDocs(writer, new File(file, files[i]));
- } else {
- System.out.println("adding " + file);
- writer.addDocument(FileDocument.Document(file));
+ throws IOException {
+ // do not try to index files that cannot be read
+ if (file.canRead()) {
+ if (file.isDirectory()) {
+ String[] files = file.list();
+ // an IO error could occur
+ if (files != null) {
+ for (int i = 0; i < files.length; i++) {
+ indexDocs(writer, new File(file, files[i]));
+ }
+ }
+ } else {
+ System.out.println("adding " + file);
+ try {
+ writer.addDocument(FileDocument.Document(file));
+ }
+ // at least on windows, some temporary files raise this exception with an "access denied" message
+ // checking if the file can be read doesn't help
+ catch (FileNotFoundException fnfe) {
+ ;
+ }
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org