From: Axel C. K. <ax...@us...> - 2005-09-02 19:31:11
|
Update of /cvsroot/phpeclipse/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpdt/core/tests/lucene In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4102/src/net/sourceforge/phpdt/core/tests/lucene Modified Files: PHPWriter.java PHPSearcher.java LuceneTest.java Log Message: Tests for indexing a PHP AST with Lucene search engine; Needs more ideas how to store the meta-information :-) Index: LuceneTest.java =================================================================== RCS file: /cvsroot/phpeclipse/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpdt/core/tests/lucene/LuceneTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** LuceneTest.java 2 Sep 2005 19:23:23 -0000 1.1 --- LuceneTest.java 2 Sep 2005 19:31:03 -0000 1.2 *************** *** 20,37 **** import net.sourceforge.phpdt.internal.compiler.problem.ProblemReporter; import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration; - import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration; - import net.sourceforge.phpeclipse.internal.compiler.ast.TypeDeclaration; - - import org.apache.lucene.analysis.standard.StandardAnalyzer; - import org.apache.lucene.document.Document; - import org.apache.lucene.document.Field; - import org.apache.lucene.index.IndexWriter; - import org.apache.lucene.queryParser.ParseException; - import org.apache.lucene.queryParser.QueryParser; - import org.apache.lucene.search.Hits; - import org.apache.lucene.search.IndexSearcher; - import org.apache.lucene.search.Query; - import org.eclipse.core.resources.IFile; - import org.eclipse.core.resources.IProject; public class LuceneTest extends AbstractCompilerTest { --- 20,23 ---- *************** *** 102,108 **** --- 88,96 ---- PHPSearcher indexSearcher = new PHPSearcher(indexPath); + indexSearcher.getIncludeInfo("hello_world"); indexSearcher.getClassInfo("Overlib"); indexSearcher.getAttributeInfo("$ol_closetext"); indexSearcher.getMethodInfo("set"); + } Index: PHPSearcher.java =================================================================== RCS file: /cvsroot/phpeclipse/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpdt/core/tests/lucene/PHPSearcher.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PHPSearcher.java 2 Sep 2005 19:23:23 -0000 1.1 --- PHPSearcher.java 2 Sep 2005 19:31:03 -0000 1.2 *************** *** 45,48 **** --- 45,68 ---- } + public Hits getIncludeInfo(String ident) { + Hits hits = null; + try { + // Query query = QueryParser.parse(ident, "f", new StandardAnalyzer()); + Query query = new TermQuery(new Term("i", ident)); + hits = fSearcher.search(query); + int hitCount = hits.length(); + Document doc; + for (int i = 0; (i < hitCount && i < 10); i++) { + doc = hits.doc(i); + for (int j = 0; j < doc.getValues("i").length; j++) { + System.out.println(doc.getValues("i")[j]); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return hits; + } + public Hits getFunctionInfo(String ident) { Hits hits = null; Index: PHPWriter.java =================================================================== RCS file: /cvsroot/phpeclipse/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpdt/core/tests/lucene/PHPWriter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PHPWriter.java 2 Sep 2005 19:23:23 -0000 1.1 --- PHPWriter.java 2 Sep 2005 19:31:03 -0000 1.2 *************** *** 5,8 **** --- 5,9 ---- import net.sourceforge.phpeclipse.internal.compiler.ast.AbstractMethodDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration; + import net.sourceforge.phpeclipse.internal.compiler.ast.ImportReference; import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.TypeDeclaration; *************** *** 29,37 **** doc.add(Field.Keyword("path", file.getProjectRelativePath().toString())); } if (computedUnit.types != null) { Object obj; MethodDeclaration m; TypeDeclaration c; ! for (int i = computedUnit.types.size(); --i >= 0;) { obj = computedUnit.types.get(i); if (obj instanceof MethodDeclaration) { --- 30,48 ---- doc.add(Field.Keyword("path", file.getProjectRelativePath().toString())); } + if (computedUnit.imports != null) { + ImportReference imp; + for (int i=0; i<computedUnit.imports.length; i++) { + // add the php include + imp = computedUnit.imports[i]; + String incl = new String(imp.includeSource); + doc.add(Field.Keyword("i", incl)); + doc.add(Field.UnIndexed(incl, "include meta-info")); + } + } if (computedUnit.types != null) { Object obj; MethodDeclaration m; TypeDeclaration c; ! for (int i=0; i<computedUnit.types.size(); i++) { obj = computedUnit.types.get(i); if (obj instanceof MethodDeclaration) { |