You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@lucene.apache.org by ro...@apache.org on 2005/06/02 04:08:32 UTC

svn commit: r179487 - in /incubator/lucene4c/trunk: ./ config/ include/ lib/ src/analysis/ src/cmdline/ src/document/ src/index/ src/org/ src/org/apache/ src/org/apache/lucene4c/ src/query_parser/ src/search/ src/store/ src/util/ test/

Author: rooneg
Date: Wed Jun  1 19:08:31 2005
New Revision: 179487

URL: http://svn.apache.org/viewcvs?rev=179487&view=rev
Log:
Merge the gcj-backend branch into the trunk.

For the details on these changes please see revisions 171264 through 179346
of http://svn.apache.org/repos/asf/incubator/lucene4c/branches/gcj-backend

Added:
    incubator/lucene4c/trunk/config/config_nice.m4
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/config/config_nice.m4
    incubator/lucene4c/trunk/include/lcn_analyzer.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_analyzer.h
    incubator/lucene4c/trunk/include/lcn_error.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_error.h
    incubator/lucene4c/trunk/include/lcn_index_writer.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_index_writer.h
    incubator/lucene4c/trunk/include/lcn_init.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_init.h
    incubator/lucene4c/trunk/include/lcn_pools.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_pools.h
    incubator/lucene4c/trunk/include/lcn_searcher.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/include/lcn_searcher.h
    incubator/lucene4c/trunk/lib/   (props changed)
      - copied from r179483, incubator/lucene4c/branches/gcj-backend/lib/
    incubator/lucene4c/trunk/lib/lucene-1.4.3.jar   (props changed)
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/lib/lucene-1.4.3.jar
    incubator/lucene4c/trunk/src/analysis/   (props changed)
      - copied from r179483, incubator/lucene4c/branches/gcj-backend/src/analysis/
    incubator/lucene4c/trunk/src/analysis/analyzer.hxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/analysis/analyzer.hxx
    incubator/lucene4c/trunk/src/analysis/standard.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/analysis/standard.cxx
    incubator/lucene4c/trunk/src/document/document.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/document/document.cxx
    incubator/lucene4c/trunk/src/document/document.hxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/document/document.hxx
    incubator/lucene4c/trunk/src/document/field.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/document/field.cxx
    incubator/lucene4c/trunk/src/document/field.hxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/document/field.hxx
    incubator/lucene4c/trunk/src/index/writer.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/index/writer.cxx
    incubator/lucene4c/trunk/src/org/
      - copied from r179483, incubator/lucene4c/branches/gcj-backend/src/org/
    incubator/lucene4c/trunk/src/org/apache/
      - copied from r179483, incubator/lucene4c/branches/gcj-backend/src/org/apache/
    incubator/lucene4c/trunk/src/org/apache/lucene4c/   (props changed)
      - copied from r179483, incubator/lucene4c/branches/gcj-backend/src/org/apache/lucene4c/
    incubator/lucene4c/trunk/src/org/apache/lucene4c/IndexSearcherHack.java
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/org/apache/lucene4c/IndexSearcherHack.java
    incubator/lucene4c/trunk/src/org/apache/lucene4c/QueryParserHack.java
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/org/apache/lucene4c/QueryParserHack.java
    incubator/lucene4c/trunk/src/query_parser/query_parser.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/query_parser/query_parser.cxx
    incubator/lucene4c/trunk/src/search/index_searcher.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/search/index_searcher.cxx
    incubator/lucene4c/trunk/src/search/query.hxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/search/query.hxx
    incubator/lucene4c/trunk/src/search/searcher.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/search/searcher.cxx
    incubator/lucene4c/trunk/src/search/searcher.hxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/search/searcher.hxx
    incubator/lucene4c/trunk/src/util/exception.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/util/exception.cxx
    incubator/lucene4c/trunk/src/util/exception.h
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/util/exception.h
    incubator/lucene4c/trunk/src/util/init.cxx
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/src/util/init.cxx
    incubator/lucene4c/trunk/test/main.c
      - copied unchanged from r179483, incubator/lucene4c/branches/gcj-backend/test/main.c
Removed:
    incubator/lucene4c/trunk/include/lcn_api.h
    incubator/lucene4c/trunk/include/lcn_directory.h
    incubator/lucene4c/trunk/include/lcn_fielddata.h
    incubator/lucene4c/trunk/include/lcn_fieldinfos.h
    incubator/lucene4c/trunk/include/lcn_frequencies.h
    incubator/lucene4c/trunk/include/lcn_index.h
    incubator/lucene4c/trunk/include/lcn_istream.h
    incubator/lucene4c/trunk/include/lcn_scorer.h
    incubator/lucene4c/trunk/include/lcn_segment.h
    incubator/lucene4c/trunk/include/lcn_segments.h
    incubator/lucene4c/trunk/include/lcn_term.h
    incubator/lucene4c/trunk/include/lcn_terminfos.h
    incubator/lucene4c/trunk/src/document/document.c
    incubator/lucene4c/trunk/src/document/field.c
    incubator/lucene4c/trunk/src/index/fielddata.c
    incubator/lucene4c/trunk/src/index/fieldinfos.c
    incubator/lucene4c/trunk/src/index/frequencies.c
    incubator/lucene4c/trunk/src/index/index.c
    incubator/lucene4c/trunk/src/index/segment.c
    incubator/lucene4c/trunk/src/index/segments.c
    incubator/lucene4c/trunk/src/index/term.c
    incubator/lucene4c/trunk/src/index/terminfos.c
    incubator/lucene4c/trunk/src/query_parser/parser.c
    incubator/lucene4c/trunk/src/search/query.c
    incubator/lucene4c/trunk/src/search/scorer.c
    incubator/lucene4c/trunk/src/store/
    incubator/lucene4c/trunk/src/util/string.c
Modified:
    incubator/lucene4c/trunk/   (props changed)
    incubator/lucene4c/trunk/Makefile.am
    incubator/lucene4c/trunk/configure.in
    incubator/lucene4c/trunk/include/   (props changed)
    incubator/lucene4c/trunk/include/lcn_document.h
    incubator/lucene4c/trunk/include/lcn_field.h
    incubator/lucene4c/trunk/include/lcn_query.h
    incubator/lucene4c/trunk/include/lcn_query_parser.h
    incubator/lucene4c/trunk/include/lcn_types.h
    incubator/lucene4c/trunk/src/cmdline/main.c
    incubator/lucene4c/trunk/src/document/   (props changed)
    incubator/lucene4c/trunk/src/index/   (props changed)
    incubator/lucene4c/trunk/src/query_parser/   (props changed)
    incubator/lucene4c/trunk/src/search/   (props changed)
    incubator/lucene4c/trunk/src/util/   (props changed)
    incubator/lucene4c/trunk/src/util/error.c
    incubator/lucene4c/trunk/test/   (props changed)

Propchange: incubator/lucene4c/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
+config.nice
 .gdb_history
 Makefile.in
 Makefile

Modified: incubator/lucene4c/trunk/Makefile.am
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/Makefile.am?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/Makefile.am (original)
+++ incubator/lucene4c/trunk/Makefile.am Wed Jun  1 19:08:31 2005
@@ -1,6 +1,5 @@
-AUTOMAKE_OPTIONS = subdir-objects
 
-EXTRA_DIST = bootstrap
+AUTOMAKE_OPTIONS = subdir-objects dist-bzip2
 
 MAINTAINERCLEANFILES = Makefile.in \
                        aclocal.m4 \
@@ -15,77 +14,119 @@
 
 lib_LTLIBRARIES = liblucene4c.la
 
-liblucene4c_la_SOURCES = src/util/error.c \
-                         src/util/string.c \
+liblucene4c_la_LDFLAGS = -version-info 0:1:0 
+liblucene4c_la_LIBADD = $(top_srcdir)/lib/lucene-1.4.3.jar 
+
+
+LIBHEADERS = src/search/searcher.hxx \
+                         src/search/query.hxx \
+                         src/document/field.hxx \
+                         src/document/document.hxx \
+                         src/analysis/analyzer.hxx \
+                         src/util/exception.h
+
+liblucene4c_la_SOURCES = src/util/exception.cxx \
+                         src/util/error.c \
+                         src/util/init.cxx \
                          src/util/pools.c \
-                         src/store/istream.c \
-                         src/store/directory.c \
-                         src/search/query.c \
-                         src/search/scorer.c \
-                         src/query_parser/parser.c \
-                         src/index/index.c \
-                         src/index/segments.c \
-                         src/index/segment.c \
-                         src/index/term.c \
-                         src/index/terminfos.c \
-                         src/index/frequencies.c \
-                         src/index/fielddata.c \
-                         src/index/fieldinfos.c \
-                         src/document/document.c \
-                         src/document/field.c
+                         src/index/writer.cxx \
+                         src/search/searcher.cxx \
+                         src/search/index_searcher.cxx \
+                         src/query_parser/query_parser.cxx \
+                         src/document/field.cxx \
+                         src/document/document.cxx \
+                         src/analysis/standard.cxx \
+                         src/org/apache/lucene4c/QueryParserHack.java \
+                         src/org/apache/lucene4c/IndexSearcherHack.java
+
+BUILT_SOURCES = include/org/apache/lucene/analysis/Analyzer.h \
+                include/org/apache/lucene4c/QueryParserHack.h \
+                include/org/apache/lucene4c/IndexSearcherHack.h
+
+%.class: %.java
+	javac -classpath $(top_srcdir)/lib/lucene-1.4.3.jar -d src $<
+
+include/org/apache/lucene/analysis/Analyzer.h: build-headers 
+
+include/org/apache/lucene4c/QueryParserHack.h: src/org/apache/lucene4c/QueryParserHack.class
+	$(JCCH) --classpath lib/lucene-1.4.3.jar:src org.apache.lucene4c.QueryParserHack -d include
+
+include/org/apache/lucene4c/IndexSearcherHack.h: src/org/apache/lucene4c/IndexSearcherHack.class
+	$(JCCH) --classpath lib/lucene-1.4.3.jar:src org.apache.lucene4c.IndexSearcherHack -d include
+
 
-noinst_PROGRAMS = test/tests
+noinst_PROGRAMS = test/test
 
 bin_PROGRAMS = src/cmdline/lcn
 
-test_tests_SOURCES = test/abts.c \
-                     test/lcn_tests.c \
-                     test/util/string_test.c \
-                     test/index/fieldinfos_test.c \
-                     test/index/fielddata_test.c \
-                     test/index/index_test.c \
-                     test/index/segments_test.c \
-                     test/index/segment_test.c \
-                     test/index/terminfos_test.c \
-                     test/index/frequencies_test.c \
-                     test/store/istream_test.c \
-                     test/search/scorer_test.c \
-                     test/query_parser/parser_test.c \
-                     test/store/directory_test.c
+test_test_SOURCES = test/main.c
+test_test_LDADD = liblucene4c.la
 
 src_cmdline_lcn_SOURCES = src/cmdline/main.c
-
 src_cmdline_lcn_LDADD= liblucene4c.la
 
-test_tests_LDADD = liblucene4c.la
-
 inst_includesdir = $(includedir)/lucene4c-0
 
-inst_includes_HEADERS = include/lcn_api.h \
-                        include/lcn_directory.h \
+inst_includes_HEADERS = include/lcn_analyzer.h \
                         include/lcn_document.h \
+                        include/lcn_error.h \
                         include/lcn_field.h \
-                        include/lcn_fielddata.h \
-                        include/lcn_fieldinfos.h \
-                        include/lcn_frequencies.h \
-                        include/lcn_index.h \
-                        include/lcn_istream.h \
+                        include/lcn_index_writer.h \
+                        include/lcn_init.h \
+                        include/lcn_pools.h \
                         include/lcn_query.h \
                         include/lcn_query_parser.h \
-                        include/lcn_scorer.h \
-                        include/lcn_segment.h \
-                        include/lcn_segments.h \
-                        include/lcn_terminfos.h \
-                        include/lcn_term.h \
+                        include/lcn_searcher.h \
                         include/lcn_types.h
 
-INCLUDES = -Iinclude -Itest $(LCN_APR_INCLUDES)
-
-LIBS = $(LCN_APR_LIBS) -lm
-
-check:
-	@./test/tests
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/test \
+           -I$(top_builddir)/include \
+           $(LCN_APR_INCLUDES)
+
+LIBS = $(LCN_LIBS)
+
+lib/lucene.o: lib/lucene-1.4.3.jar
+	$(GCJ) -c -o $@ $(top_srcdir)/lib/lucene-1.4.3.jar
+
+test:
+	@./test/test
+
+localclean:
+	$(RM) -f build-headers
+	${RM} -rf include/org
+	${RM} -rf src/org/apache/lucene/
+	${RM} -rf org
+clean: localclean clean-am
+distclean: localclean distclean-am
+
+lib/lucene-1.4.3.jar:
+	touch $@
+
+build-headers: lib/lucene-1.4.3.jar
+	$(JAR) xvf $(top_srcdir)/lib/lucene-1.4.3.jar
+	$(RM) -rf META-INF
+	$(MKDIR) -p src/org/apache/lucene4c
+	$(MKDIR) -p include/org/apache/lucene4c
+	$(FIND) org -type d | \
+        $(SED) 's|org/|include/org/|' | \
+        $(XARGS) mkdir -p
+	-$(FIND) org -name \*.class | \
+        $(SED) 's|\.class||' | \
+        $(SED) 's|/|.|g' | \
+        $(XARGS) $(JCCH) -d include --classpath=$(top_srcdir)/lib/lucene-1.4.3.jar
+	touch $@
 
 doxygen:
-	@doxygen doc/doxygen.conf
+	@mkdir -p www/apidocs
+	@doxygen $(top_srcdir)/doc/doxygen.conf
 	@cp -r doc/doxygen/html/* www/apidocs/
+
+
+EXTRA_DIST = bootstrap \
+             config/config_nice.m4 \
+             config/find_apr.m4 \
+             lib/lucene-1.4.3.jar \
+             doc/doxygen.conf \
+             $(LIBHEADERS) 
+
+.PHONY = doxygen

Modified: incubator/lucene4c/trunk/configure.in
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/configure.in?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/configure.in (original)
+++ incubator/lucene4c/trunk/configure.in Wed Jun  1 19:08:31 2005
@@ -1,11 +1,24 @@
 AC_INIT(lucene4c, 0.04)
-AC_CONFIG_SRCDIR([src/store/istream.c])
+MAKE_CONFIG_NICE([config.nice])
+AC_CONFIG_SRCDIR([src/document/document.cxx])
 AC_CONFIG_AUX_DIR(config)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 
 AC_PROG_CC
 AM_PROG_CC_C_O
+AC_PROG_CXX
+AM_PROG_GCJ
 
+AC_CHECK_PROGS(JCCH, gcjh)
+AC_CHECK_PROGS(JAR, fastjar)
+
+AC_CHECK_PROGS(MKDIR, mkdir)
+AC_CHECK_PROGS(FIND, find)
+AC_CHECK_PROGS(SED, sed)
+AC_CHECK_PROGS(XARGS, xargs)
+AC_CHECK_PROGS(RM, rm)
+
+AC_CHECK_LIB([gcj], [JNI_CreateJavaVM])
 AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration])
 
 APR_FIND_APR("", "", 1, 1 0)
@@ -19,7 +32,9 @@
 CFLAGS="$CFLAGS `$apr_config --cflags`"
 LDFLAGS="$LDLAGS `$apr_config --ldflags`"
 
-LCN_APR_LIBS="$LIBS `$apr_config --link-ld --libs`"
+GCJ_RPATH=`echo ${GCJ} | ${SED} 's|bin/.*|lib|'`
+
+LCN_LIBS="-R${GCJ_RPATH} $LIBS `$apr_config --link-libtool --libs`"
 LCN_APR_INCLUDES="`$apr_config --includes`"
 
 LIBTOOL="`$apr_config --apr-libtool`"
@@ -49,6 +64,5 @@
 
 AC_SUBST(ac_aux_dir)
 AC_SUBST(LCN_APR_INCLUDES)
-AC_SUBST(LCN_APR_LIBS)
-
+AC_SUBST(LCN_LIBS)
 AC_OUTPUT([Makefile])

Propchange: incubator/lucene4c/trunk/include/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -0,0 +1 @@
+org

Modified: incubator/lucene4c/trunk/include/lcn_document.h
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/include/lcn_document.h?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/include/lcn_document.h (original)
+++ incubator/lucene4c/trunk/include/lcn_document.h Wed Jun  1 19:08:31 2005
@@ -22,7 +22,6 @@
 #ifndef _LCN_DOCUMENT_H
 #define _LCN_DOCUMENT_H
 
-#include "lcn_types.h"
 #include "lcn_field.h"
 
 #ifdef __cplusplus
@@ -32,25 +31,19 @@
 /** Opaque structure representing a document in the index. */
 typedef struct lcn_document_t lcn_document_t;
 
-/** Create an empty document, allocated from @a pool. */
-lcn_document_t *
-lcn_document_create (apr_pool_t *pool);
-
-/** Return the number of fields in document @a doc. */
-apr_uint32_t lcn_document_numfields (lcn_document_t *doc);
+/** Return an empty document in @a document, allocated from @a pool. */
+lcn_error_t *
+lcn_document_create (lcn_document_t **document, apr_pool_t *pool);
 
 /** Add @a field to @a doc. */
-void lcn_document_add_field (lcn_document_t *doc, lcn_field_t *field);
-
-/** Return field number @a num from @a doc, or @c NULL if it does not exist. */
-const lcn_field_t *
-lcn_document_field_by_num (const lcn_document_t *doc,
-                           apr_uint32_t num);
+lcn_error_t *
+lcn_document_add_field (lcn_document_t *doc, lcn_field_t *field);
 
-/** Return field @a name from @a doc, or @c NULL if it does not exist. */
-const lcn_field_t *
-lcn_document_field_by_name (const lcn_document_t *doc,
-                            const lcn_char_t *name);
+lcn_error_t *
+lcn_document_get_field_by_name (lcn_field_t **field,
+                                lcn_document_t *doc,
+                                const char *fieldname,
+                                apr_pool_t *pool);
 
 #ifdef __cplusplus
 }

Modified: incubator/lucene4c/trunk/include/lcn_field.h
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/include/lcn_field.h?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/include/lcn_field.h (original)
+++ incubator/lucene4c/trunk/include/lcn_field.h Wed Jun  1 19:08:31 2005
@@ -22,7 +22,7 @@
 #ifndef _LCN_FIELD_H
 #define _LCN_FIELD_H
 
-#include "lcn_types.h"
+#include "lcn_error.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -31,61 +31,20 @@
 /** Opaque structure representing a field in a document. */
 typedef struct lcn_field_t lcn_field_t;
 
-/** Indicates if a field is stored in the index or not. */
-typedef enum {
-  LCN_STORED_NO,       /**< Field is not stored */
-  LCN_STORED_YES,      /**< Field is stored */
-  LCN_STORED_COMPRESS  /**< Field is stored in compressed form */
-} lcn_field_stored_t;
-
-/** Indicates if a field is indexed or not. */
-typedef enum {
-  LCN_INDEXED_NO,          /**< Field is not indexed */
-  LCN_INDEXED_TOKENIZED,   /**< Field is indexed in tokenized form */
-  LCN_INDEXED_UNTOKENIZED  /**< Field is indexed without being tokenized */
-} lcn_field_indexed_t;
-
-/** Indicates if a field is stored in the index's termvector. */
-typedef enum {
-  /** Field is not stored in the termvector */
-  LCN_TERMVECTOR_NO,
-
-  /** Field is stored in the termvector */
-  LCN_TERMVECTOR_YES,
-
-  /** Field is stored in the termvector along with its positions */
-  LCN_TERMVECTOR_WITH_POSITIONS,
-
-  /** Field is stored in the termvector along with its offsets */
-  LCN_TERMVECTOR_WITH_OFFSETS,
-
-  /** Field is stored in the termvector along with its positions and offsets */
-  LCN_TERMVECTOR_WITH_POSITIONS_OFFSETS
-} lcn_field_termvector_t;
-
-/** Create new field.
- *
- * The field will have the name @a name, the value @a value, and its status
- * with regard to storage, indexing, and termvector are determined by the
- * @a stored, @a indexed, and @a termvector arguments.
- *
- * All allocation is done with @a pool.
- */
-lcn_field_t *
-lcn_field_create (const lcn_char_t *name,
-                  const lcn_char_t *value,
-                  lcn_field_stored_t stored,
-                  lcn_field_indexed_t indexed,
-                  lcn_field_termvector_t termvector,
-                  apr_pool_t *pool);
-
-/** Return the name of field @a f. */
-const lcn_char_t *
-lcn_field_name (const lcn_field_t *f);
-
-/** Return the content of field @a f. */
-const lcn_char_t *
-lcn_field_content (const lcn_field_t *f);
+/** Create a text field. */
+lcn_error_t *
+lcn_field_text (lcn_field_t **f,
+                const char *name,
+                const char *value,
+                apr_pool_t *pool);
+
+/** Return the name of field @a f in @a name, allocated in @a pool. */
+lcn_error_t *
+lcn_field_name (char **name, const lcn_field_t *f, apr_pool_t *pool);
+
+/** Return the content of field @a f in @a content, allocated in @a pool. */
+lcn_error_t *
+lcn_field_content (char **content, const lcn_field_t *f, apr_pool_t *pool);
 
 #ifdef __cplusplus
 }

Modified: incubator/lucene4c/trunk/include/lcn_query.h
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/include/lcn_query.h?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/include/lcn_query.h (original)
+++ incubator/lucene4c/trunk/include/lcn_query.h Wed Jun  1 19:08:31 2005
@@ -22,9 +22,7 @@
 #ifndef _LCN_QUERY_H
 #define _LCN_QUERY_H
 
-#include "lcn_types.h"
-#include "lcn_scorer.h"
-#include "lcn_term.h"
+#include "lcn_error.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -33,69 +31,10 @@
 /** Abstract query object. */
 typedef struct lcn_query_t lcn_query_t;
 
-/** Create a @a query that matches @a term, allocated in @a pool. */
-lcn_error_t *
-lcn_term_query_create (lcn_query_t **query,
-                       lcn_term_t *term,
-                       apr_pool_t *pool);
-
-/** Create a @a query that matches a number of other queries, each of which
- * either MUST occur, SHOULD occur, or MUST NOT occur in the documents matched,
- * the query is allocated in @a pool.
- */
-lcn_error_t *
-lcn_boolean_query_create (lcn_query_t **query, apr_pool_t *pool);
-
-/** An indication of what requirement is placed on a particular part of a
- * boolean query.
- */
-typedef enum {
-  LCN_MUST,    /**< The query must match */
-  LCN_SHOULD,  /**< At least one of the queries with this occur must match */
-  LCN_MUST_NOT /**< The query must not match */
-} lcn_boolean_clause_occur_t;
-
-/** Add @a clause to @a query, with @a occur as the specification for whether
- * it is required or not.
- *
- * @note all clauses that are added to @a query must be allocated from a pool
- * that lives at least as long as the pool used to allocate @a query, or the
- * behavior is undefined.
- */
-lcn_error_t *
-lcn_boolean_query_add (lcn_query_t *query,
-                       lcn_query_t *clause,
-                       lcn_boolean_clause_occur_t occur);
-
-/** Return @a weight's underlying query. */
-lcn_query_t * lcn_weight_query (lcn_weight_t *weight);
-
-/** Return the value of @a weight. */
-float lcn_weight_value (lcn_weight_t *weight);
-
-/** Return the sum of the squared weight sof contained query clauses. */
-lcn_error_t *
-lcn_weight_sum_of_squared_weights (float *sum, lcn_weight_t *weight);
-
-/** Assign a query normalization factor @a norm to this @a weight. */
-lcn_error_t * lcn_weight_normalize (lcn_weight_t *weight, float norm);
-
-/* XXX leaving out lcn_weight_explain for now... */
-
-/** Create an @a weight from @a query, to be run over @a index and allocated
- * from @a pool.
- */
-lcn_error_t *
-lcn_query_weight (lcn_weight_t **weight,
-                  lcn_query_t *query,
-                  lcn_index_t *index,
-                  apr_pool_t *pool);
-
-/** Return a @a scorer for @a weight, allocated in @a pool. */
-lcn_error_t *
-lcn_weight_scorer (lcn_scorer_t **scorer,
-                   lcn_weight_t *weight,
-                   apr_pool_t *pool);
+lcn_error_t
+lcn_query_to_string(char **str,
+                    lcn_query_t *query,
+                    apr_pool_t *pool);
 
 #ifdef __cplusplus
 }

Modified: incubator/lucene4c/trunk/include/lcn_query_parser.h
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/include/lcn_query_parser.h?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/include/lcn_query_parser.h (original)
+++ incubator/lucene4c/trunk/include/lcn_query_parser.h Wed Jun  1 19:08:31 2005
@@ -22,8 +22,10 @@
 #ifndef _LCN_QUERY_PARSER_H
 #define _LCN_QUERY_PARSER_H
 
-#include "lcn_types.h"
+#include "lcn_pools.h"
+#include "lcn_error.h"
 #include "lcn_query.h"
+#include "lcn_analyzer.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -32,20 +34,18 @@
 /** A query parser. */
 typedef struct lcn_query_parser_t lcn_query_parser_t;
 
-/** Create a query parser @a parser, which uses @a default_field and
- * @a default_occur and is allocated from @a pool. */
+/** Create @a query from @a input, with default field @a field, analyzed
+ * with @a analyzer, allocated in @a pool.
+ *
+ * @note this creates an @c lcn_query_parser_t object under the hood.  If
+ * you want to avoid the overhead of recreating the parser for each parse
+ * use @c lcn_query_parser_create and @c lcn_query_parser_parse. */
 lcn_error_t *
-lcn_query_parser_create (lcn_query_parser_t **parser,
-                         lcn_char_t *default_field,
-                         lcn_boolean_clause_occur_t default_occur,
-                         apr_pool_t *pool);
-
-/** Use @a parser to create @a query from @a input, allocated in @a pool. */
-lcn_error_t *
-lcn_query_parser_parse (lcn_query_t **query,
-                        lcn_query_parser_t *parser,
-                        lcn_char_t *input,
-                        apr_pool_t *pool);
+lcn_query_parse (lcn_query_t **query,
+                 const char *input,
+                 const char *field,
+                 lcn_analyzer_t *analyzer,
+                 apr_pool_t *pool);
 
 #ifdef __cplusplus
 }

Modified: incubator/lucene4c/trunk/include/lcn_types.h
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/include/lcn_types.h?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/include/lcn_types.h (original)
+++ incubator/lucene4c/trunk/include/lcn_types.h Wed Jun  1 19:08:31 2005
@@ -23,7 +23,6 @@
 #define _LCN_TYPES_H
 
 #include <apr.h>
-#include <apr_pools.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -42,44 +41,6 @@
 #define TRUE 1
 #endif
 
-/** Our exception object. */
-typedef struct lcn_error_t {
-  apr_status_t apr_err;      /**< The underlying APR error */
-
-  const char *message;       /**< Human readable error message */
-
-  struct lcn_error_t *child; /**< The next error in the chain, or @c NULL */
-
-  apr_pool_t *pool;          /**< The pool this error was allocated in */
-
-} lcn_error_t;
-
-/** The best kind of error. */
-#define LCN_NO_ERROR 0
-
-/** Create a new error with underlying error code @a apr_err, wrapping around
- * @a child, with error message @a message.
- */
-lcn_error_t *
-lcn_error_create (apr_status_t apr_err,
-                  lcn_error_t *child,
-                  const char *message);
-
-/** A @c printf style version of @c lcn_error_create. */
-lcn_error_t *
-lcn_error_createf (apr_status_t apr_err,
-                   lcn_error_t *child,
-                   const char *fmt,
-                   ...)
-#ifdef DOXYGEN_SHOULD_SKIP_THIS
-                   ;
-#else
-                   __attribute__ ((format (printf, 3, 4)));
-#endif
-
-/** Destroy @a error. */
-void lcn_error_clear (lcn_error_t *error);
-
 /** A handy wrapper for functions that return an @c lcn_error_t, just returns
  * the error to our caller if it's not @c LCN_NO_ERROR.
  */
@@ -90,47 +51,11 @@
       return lcn_err__temp;              \
     } while (0)
 
-/** A java style 16 bit char. */
-typedef apr_uint16_t lcn_char_t;
-
-/** Count the number of characters in a string of lcn_char_t's */
-apr_size_t lcn_strlen (const lcn_char_t *str);
-
-/** Get the size of a string of lcn_char_t's in bytes */
-#define LCN_STRING_SIZE(str) ((lcn_strlen (str) + 1) * sizeof (lcn_char_t))
-
-/** Lexographically compare @a first and @a second. */
-int lcn_strcmp (const lcn_char_t *first, const lcn_char_t *second);
-
-/** Return a copy of @a str, allocated in @a pool. */
-lcn_char_t *
-lcn_strcpy (const lcn_char_t *str, apr_pool_t *pool);
-
-/** Convert @a in into a cstring @a out, allocated in @a pool.
- *
- * This will result in an error if @a in cannot be represented in ASCII
- * characters.
- */
-lcn_error_t *
-lcn_str_to_cstring (char **out, const lcn_char_t *in, apr_pool_t *pool);
-
-/** Create a string of @c lcn_char_ts that corresponds to the contents of 
- * @a in, allocated in @a pool.
- */
-lcn_char_t *
-lcn_str_from_cstring (const char *in, apr_pool_t *pool);
-
 /** Index into an apr_array_header_t */
 #define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i])
 
 /** Easier array-pushing syntax */
 #define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push (ary)))
-
-/** A convenience wrapper for @c apr_pool_create. */
-apr_pool_t *lcn_pool_create (apr_pool_t *parent);
-
-/** For symmetry with @c lcn_pool_create. */
-#define lcn_pool_destroy apr_pool_destroy
 
 #ifdef __cplusplus
 }

Propchange: incubator/lucene4c/trunk/lib/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -0,0 +1 @@
+liblucene4c.so

Copied: incubator/lucene4c/trunk/lib/lucene-1.4.3.jar (from r179483, incubator/lucene4c/branches/gcj-backend/lib/lucene-1.4.3.jar)
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/lib/lucene-1.4.3.jar?p2=incubator/lucene4c/trunk/lib/lucene-1.4.3.jar&p1=incubator/lucene4c/branches/gcj-backend/lib/lucene-1.4.3.jar&r1=179483&r2=179487&rev=179487&view=diff
==============================================================================
Binary files - no diff available.

Propchange: incubator/lucene4c/trunk/lib/lucene-1.4.3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Propchange: incubator/lucene4c/trunk/src/analysis/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -0,0 +1,3 @@
+.dirstamp
+.deps
+*.loT

Modified: incubator/lucene4c/trunk/src/cmdline/main.c
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/src/cmdline/main.c?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/src/cmdline/main.c (original)
+++ incubator/lucene4c/trunk/src/cmdline/main.c Wed Jun  1 19:08:31 2005
@@ -15,19 +15,22 @@
  */
 
 #include <stdlib.h>
+#include <stdio.h>
 
 #include <apr.h>
 
-#include "lcn_index.h"
+#include "lcn_init.h"
 #include "lcn_types.h"
-#include "lcn_segments.h"
+#include "lcn_pools.h"
 #include "lcn_query_parser.h"
+#include "lcn_searcher.h"
+#include "lcn_document.h"
 
 typedef lcn_error_t *(lcn_subcommand_t) (int argc,
                                          char *argv[],
                                          apr_pool_t *pool);
 
-lcn_subcommand_t lcn_segments_cmd, lcn_termdocs_cmd, lcn_search_cmd;
+lcn_subcommand_t lcn_search_cmd;
 
 typedef struct {
   const char *name;
@@ -35,134 +38,28 @@
 } subcommand_desc_t;
 
 subcommand_desc_t dispatch_table[] = {
-  { "segments", lcn_segments_cmd },
-  { "termdocs", lcn_termdocs_cmd },
   { "search", lcn_search_cmd },
   { NULL }
 };
 
-lcn_error_t *
-lcn_segments_cmd (int argc, char *argv[], apr_pool_t *pool)
-{
-  if (argc != 1)
-    {
-      printf ("usage: lcn segments <index>\n");
-      return lcn_error_create (APR_EGENERAL, NULL, "missing argument");
-    }
-  else
-    {
-      apr_array_header_t *names;
-      lcn_segments_t *segs;
-      lcn_directory_t *d;
-      int i;
-
-      LCN_ERR (lcn_fs_directory_open (&d, argv[0], pool));
-
-      LCN_ERR (lcn_segments_read (&segs, d, pool));
-
-      names = lcn_segments_names (segs, pool);
-
-      for (i = 0; i < names->nelts; ++i)
-        {
-          lcn_char_t *name = APR_ARRAY_IDX (names, i, lcn_char_t *);
-          char *pname;
-
-          LCN_ERR (lcn_str_to_cstring (&pname, name, pool));
-
-          printf ("%s\n", pname);
-        }
-
-      return LCN_NO_ERROR;
-    }
-}
-
 static lcn_error_t *
-print_doc_field (lcn_index_t *idx,
-                 apr_uint32_t doc_num,
-                 lcn_char_t *pfield,
+print_doc_field (lcn_document_t *doc,
+                 const char *fieldname,
                  apr_pool_t *pool)
 {
-  const lcn_field_t *field;
-  lcn_document_t *doc;
-  char *cstr;
-
-  LCN_ERR (lcn_index_get_document (&doc, idx, doc_num, pool));
+  lcn_field_t *field;
+  char *content;
 
-  field = lcn_document_field_by_name (doc, pfield);
-  if (field)
-    {
-      const lcn_char_t *cont;
-
-      cont = lcn_field_content (field);
+  LCN_ERR (lcn_document_get_field_by_name (&field, doc, fieldname, pool));
 
-      LCN_ERR (lcn_str_to_cstring (&cstr, cont, pool));
-
-      printf ("%s\n", cstr);
-    }
-  else
-    {
-      LCN_ERR (lcn_str_to_cstring (&cstr, pfield, pool));
+  LCN_ERR (lcn_field_content (&content, field, pool));
 
-      return lcn_error_createf (APR_EINVAL,
-                                NULL,
-                                "field '%s' does not exist",
-                                cstr);
-    }
+  printf ("%s\n", content);
 
   return LCN_NO_ERROR;
 }
 
 lcn_error_t *
-lcn_termdocs_cmd (int argc, char *argv[], apr_pool_t *pool)
-{
-  if (argc != 4)
-    {
-      printf ("usage: lcn termdocs <index> <term> <field> <pfield>\n");
-      return LCN_NO_ERROR;
-    }
-  else
-    {
-      lcn_doc_iter_t *itr;
-      apr_pool_t *subpool;
-      lcn_boolean_t next;
-      lcn_char_t *pfield;
-      lcn_error_t *err;
-      lcn_index_t *idx;
-      lcn_term_t t;
-
-      LCN_ERR (lcn_index_open (&idx, argv[0], pool));
-
-      t.contents = lcn_str_from_cstring (argv[1], pool);
-
-      t.field = lcn_str_from_cstring (argv[2], pool);
-
-      pfield = lcn_str_from_cstring (argv[3], pool);
-
-      LCN_ERR (lcn_index_term_docs (&itr, idx, &t, pool));
-
-      subpool = lcn_pool_create (pool);
-
-      LCN_ERR (print_doc_field (idx, lcn_doc_iter_doc (itr), pfield, subpool));
-
-      while ((err = lcn_doc_iter_next (&next, itr)) == LCN_NO_ERROR && next)
-        {
-          apr_pool_clear (subpool);
-
-          LCN_ERR (print_doc_field (idx,
-                                    lcn_doc_iter_doc (itr),
-                                    pfield,
-                                    subpool));
-        }
-
-      LCN_ERR (lcn_doc_iter_close (itr));
-
-      lcn_pool_destroy (subpool);
-
-      return LCN_NO_ERROR;
-    }
-}
-
-lcn_error_t *
 lcn_search_cmd (int argc, char *argv[], apr_pool_t *pool)
 {
   if (argc != 3)
@@ -172,45 +69,40 @@
     }
   else
     {
-      lcn_char_t *pfield = lcn_str_from_cstring (argv[2], pool);
-      apr_pool_t *subpool = lcn_pool_create (pool);
-      lcn_query_parser_t *parser;
-      lcn_scorer_t *scorer;
-      lcn_weight_t *weight;
-      lcn_boolean_t next;
+      apr_array_header_t *results;
+      lcn_searcher_t *searcher;
+      lcn_analyzer_t *analyzer;
+      apr_pool_t *subpool;
       lcn_query_t *query;
-      lcn_index_t *idx;
-      lcn_error_t *err;
-
-      LCN_ERR (lcn_index_open (&idx, argv[0], pool));
-
-      LCN_ERR (lcn_query_parser_create (&parser,
-                                        lcn_str_from_cstring ("contents",
-                                                              pool),
-                                        LCN_SHOULD,
-                                        pool));
+      int idx;
 
-      LCN_ERR (lcn_query_parser_parse (&query,
-                                       parser,
-                                       lcn_str_from_cstring (argv[1], pool),
-                                       pool));
+      LCN_ERR (lcn_analyzer_standard_create (&analyzer, pool));
 
-      LCN_ERR (lcn_query_weight (&weight, query, idx, pool));
+      LCN_ERR (lcn_query_parse (&query,
+                                argv[1],
+                                "contents",
+                                analyzer,
+                                pool));
+
+      LCN_ERR (lcn_index_searcher_open (&searcher, argv[0], pool));
+
+      LCN_ERR (lcn_searcher_search (&results,
+                                    searcher,
+                                    query,
+                                    NULL,
+                                    NULL,
+                                    pool));
 
-      LCN_ERR (lcn_weight_scorer (&scorer, weight, pool));
-
-      LCN_ERR (print_doc_field (idx,
-                                lcn_scorer_doc (scorer),
-                                pfield,
-                                subpool));
+      subpool = lcn_pool_create (pool);
 
-      while ((err = lcn_scorer_next (&next, scorer)) == LCN_NO_ERROR && next)
+      for (idx = 0; idx < results->nelts; ++idx)
         {
           apr_pool_clear (subpool);
 
-          LCN_ERR (print_doc_field (idx,
-                                    lcn_scorer_doc (scorer),
-                                    pfield,
+          LCN_ERR (print_doc_field (APR_ARRAY_IDX (results,
+                                                   idx,
+                                                   lcn_document_t *),
+                                    argv[2],
                                     subpool));
         }
 
@@ -229,6 +121,10 @@
   apr_initialize ();
 
   atexit (apr_terminate);
+
+  lcn_init ();
+
+  lcn_thread_attach ();
 
   pool = lcn_pool_create (NULL);
 

Propchange: incubator/lucene4c/trunk/src/document/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
 .deps
 .dirstamp
 .libs
+*.loT

Propchange: incubator/lucene4c/trunk/src/index/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
 .deps
 .dirstamp
 .libs
+*.loT

Propchange: incubator/lucene4c/trunk/src/org/apache/lucene4c/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -0,0 +1,3 @@
+*.class
+.dirstamp
+.deps

Propchange: incubator/lucene4c/trunk/src/query_parser/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
 .dirstamp
 .deps
 .libs
+*.loT

Propchange: incubator/lucene4c/trunk/src/search/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
 .deps
 .dirstamp
 .libs
+*.loT

Propchange: incubator/lucene4c/trunk/src/util/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,3 +1,4 @@
 .deps
 .dirstamp
 .libs
+*.loT

Modified: incubator/lucene4c/trunk/src/util/error.c
URL: http://svn.apache.org/viewcvs/incubator/lucene4c/trunk/src/util/error.c?rev=179487&r1=179486&r2=179487&view=diff
==============================================================================
--- incubator/lucene4c/trunk/src/util/error.c (original)
+++ incubator/lucene4c/trunk/src/util/error.c Wed Jun  1 19:08:31 2005
@@ -14,61 +14,22 @@
  * limitations under the License.
  */
 
-#include <stdlib.h>
-
 #include <apr_strings.h>
 
-#include "lcn_types.h"
-
-static lcn_error_t *
-make_error_internal (apr_status_t apr_err, lcn_error_t *child)
-{
-  apr_pool_t *pool;
-  lcn_error_t *new_error;
-
-  if (child)
-    pool = child->pool;
-  else
-    {
-      pool = lcn_pool_create (NULL);
-      if (! pool)
-        abort ();
-    }
-
-  new_error = apr_pcalloc (pool, sizeof (*new_error));
-
-  new_error->apr_err = apr_err;
-  new_error->child = child;
-  new_error->pool = pool;
-
-  return new_error;
-}
-
-lcn_error_t *
-lcn_error_create (apr_status_t apr_err, lcn_error_t *child, const char *msg)
-{
-  lcn_error_t *err = make_error_internal (apr_err, child);
-
-  if (msg)
-    err->message = apr_pstrdup (err->pool, msg);
-
-  return err;
-}
+#include "lcn_pools.h"
+#include "lcn_error.h"
 
 lcn_error_t *
-lcn_error_createf (apr_status_t apr_err,
-                   lcn_error_t *child,
-                   const char *fmt,
-                   ...)
+lcn_error_create (lcn_error_code_t code, const char *reason)
 {
-  lcn_error_t *err = make_error_internal (apr_err, child);
-  va_list ap;
+  apr_pool_t *pool = lcn_pool_create (NULL);
 
-  va_start (ap, fmt);
+  lcn_error_t *err = apr_palloc (pool, sizeof (*err));
 
-  err->message = apr_pvsprintf (err->pool, fmt, ap);
+  err->pool = pool;
+  err->code = code;
 
-  va_end (ap);
+  err->message = apr_pstrdup (pool, reason);
 
   return err;
 }
@@ -77,7 +38,5 @@
 lcn_error_clear (lcn_error_t *err)
 {
   if (err)
-    {
-      lcn_pool_destroy (err->pool);
-    }
+    lcn_pool_destroy (err->pool);
 }

Propchange: incubator/lucene4c/trunk/test/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun  1 19:08:31 2005
@@ -1,4 +1,5 @@
 tests
+test
 .deps
 .dirstamp
 .libs