BugRecord[] aRetArr;
BooleanQuery oQry = new BooleanQuery();
oQry.add(new TermQuery(new Term("workarea",sWorkArea)),BooleanClause.Occur.MUST);
if (null!=sProjectGUID)
if (sProjectGUID.length()>0)
oQry.add(new TermQuery(new Term("container",sProjectGUID)),BooleanClause.Occur.MUST);
if (null!=sWrittenBy)
if (sWrittenBy.length()>0)
oQry.add(new TermQuery(new Term("writer",sWrittenBy)),BooleanClause.Occur.MUST);
if (null!=sReportedBy)
if (sReportedBy.length()>0)
oQry.add(new TermQuery(new Term("author",sReportedBy)),BooleanClause.Occur.MUST);
if (null!=sTitle)
if (sTitle.length()>0)
oQry.add(new TermQuery(new Term("title",sTitle)),BooleanClause.Occur.MUST);
if (null!=sType)
if (sType.length()>0)
oQry.add(new TermQuery(new Term("type",sType)),BooleanClause.Occur.MUST);
if (null!=sStatus)
if (sStatus.length()>0)
oQry.add(new TermQuery(new Term("status",sStatus)),BooleanClause.Occur.MUST);
if (null!=sPriority)
if (sPriority.length()>0)
oQry.add(new TermQuery(new Term("priority",sPriority)),BooleanClause.Occur.MUST);
if (null!=sSeverity)
if (sSeverity.length()>0)
oQry.add(new TermQuery(new Term("severity",sSeverity)),BooleanClause.Occur.MUST);
if (dtFromDate!=null && dtToDate!=null)
oQry.add(new RangeQuery(new Term("created",DateTools.dateToString(dtFromDate, DateTools.Resolution.DAY)),
new Term("created",DateTools.dateToString(dtToDate, DateTools.Resolution.DAY)), true), BooleanClause.Occur.MUST);
else if (dtFromDate!=null)
oQry.add(new RangeQuery(new Term("created",DateTools.dateToString(dtFromDate, DateTools.Resolution.DAY)),
new Term("created",DateTools.dateToString(new Date(299,11,31), DateTools.Resolution.DAY)), true), BooleanClause.Occur.MUST);
else if (dtToDate!=null)
oQry.add(new RangeQuery(new Term("created",DateTools.dateToString(new Date(79,11,31), DateTools.Resolution.DAY)),
new Term("created",DateTools.dateToString(dtToDate, DateTools.Resolution.DAY)), true), BooleanClause.Occur.MUST);
if (null!=sText)
if (sText.length()>0)
oQry.add(new TermQuery(new Term("text",sText)),BooleanClause.Occur.SHOULD);
if (null!=sComments)
if (sComments.length()>0)
oQry.add(new TermQuery(new Term("comments",sComments)),BooleanClause.Occur.SHOULD);
String sSegments = Gadgets.chomp(sLuceneIndexPath,File.separator)+"k_bugs"+File.separator+sWorkArea;
if (DebugFile.trace) DebugFile.writeln("new IndexSearcher("+sSegments+")");
IndexSearcher oSearch = new IndexSearcher(sSegments);