Index: src/org/apache/lucene/luke/ui/DocumentsTab.java =================================================================== --- src/org/apache/lucene/luke/ui/DocumentsTab.java (revision 1517404) +++ src/org/apache/lucene/luke/ui/DocumentsTab.java (working copy) @@ -66,7 +66,7 @@ import org.apache.pivot.wtk.TextInput; public class DocumentsTab extends TablePane implements Bindable { - + private int iNum; @BXML private TableView docTable; @@ -90,17 +90,17 @@ private Label docNum2; @BXML private TextArea decText; - + private java.util.List fieldNames = null; - + // this gets injected by LukeWindow at init private LukeMediator lukeMediator; - + private Resources resources; - + private TermsEnum te; private DocsAndPositionsEnum td; - + private String fld; private Term lastTerm; private IndexReader ir; @@ -108,8 +108,9 @@ private java.util.List indexFields; private IndexInfo idxInfo; private FieldInfos infos; - + public DocumentsTab() { + Action.getNamedActions().put("nextDoc", new Action() { @Override public void perform(Component component) { @@ -131,7 +132,7 @@ Action.getNamedActions().put("deleteTermDoc", new Action() { @Override public void perform(Component component) { - + } }); Action.getNamedActions().put("showFirstTerm", new Action() { @@ -155,7 +156,7 @@ Action.getNamedActions().put("showAllTermDoc", new Action() { @Override public void perform(Component component) { - + } }); Action.getNamedActions().put("showNextTermDoc", new Action() { @@ -167,22 +168,21 @@ Action.getNamedActions().put("showPositions", new Action() { @Override public void perform(Component component) { - + } }); - + } - + @Override - public void initialize(Map namespace, URL location, - Resources resources) { + public void initialize(Map namespace, URL location, Resources resources) { this.resources = resources; } - + public void initLukeMediator(LukeMediator lukeMediator) { this.lukeMediator = lukeMediator; } - + /** * Initialize GUI elements. This method is called when a new index is opened. * @@ -191,26 +191,24 @@ public void onOpenIndex() throws Exception { this.idxInfo = lukeMediator.getIndexInfo(); this.ir = idxInfo.getReader(); - if (ir instanceof CompositeReader) { - ar = new SlowCompositeReaderWrapper((CompositeReader)ir); + ar = new SlowCompositeReaderWrapper((CompositeReader) ir); } else if (ir instanceof AtomicReader) { - ar = (AtomicReader)ir; + ar = (AtomicReader) ir; } - + if (ar != null) { infos = ar.getFieldInfos(); } - + this.indexFields = idxInfo.getFieldNames(); - - + List fields = new ArrayList(indexFields.size()); for (String s : indexFields) { fields.add(s); } fieldsList.setListData(fields); - + fieldNames = idxInfo.getFieldNames(); if (fieldNames.size() == 0) { // TODO: @@ -220,7 +218,7 @@ } maxDocs.setText(String.valueOf(ir.maxDoc() - 1)); } - + private void showDoc(int incr) { if (ir == null) { // showStatus(resources.get("documentsTab_noOrClosedIndex")); @@ -228,9 +226,10 @@ System.out.println(resources.get("documentsTab_noOrClosedIndex")); return; } - + String num = docNum.getText(); - if (num.trim().equals("")) num = String.valueOf(-incr); + if (num.trim().equals("")) + num = String.valueOf(-incr); try { iNum = Integer.parseInt(num); iNum += incr; @@ -241,11 +240,11 @@ return; } docNum.setText(String.valueOf(iNum)); - + org.apache.lucene.util.Bits live = ar.getLiveDocs(); if (live == null || live.get(iNum)) { Task populateTableTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; @@ -263,18 +262,18 @@ // showStatus(e.getMessage()); } } - + @Override public void executeFailed(Task task) { - + } }; populateTableTask.execute(new TaskAdapter(tl)); - + } else { Task populateTableTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; @@ -283,19 +282,18 @@ TaskListener tl = new TaskListener() { @Override public void taskExecuted(Task task) { - + // TODO: // showStatus("Deleted document - not available."); popTableWithDoc(iNum, null); } - + @Override public void executeFailed(Task task) { - + } }; populateTableTask.execute(new TaskAdapter(tl)); - } } catch (Exception e) { @@ -304,15 +302,15 @@ // showStatus(e.getMessage()); } } - + private void nextDoc() { showDoc(1); } - + private void prevDoc() { showDoc(-1); } - + public void popTableWithDoc(int docid, Document doc) { docNum.setText(String.valueOf(docid)); List> tableData = new ArrayList>(); @@ -328,7 +326,7 @@ docNum2.setText(String.valueOf(docid)); for (int i = 0; i < indexFields.size(); i++) { Map row = new HashMap(); - + IndexableField[] fields = doc.getFields(indexFields.get(i)); if (fields == null) { tableData.add(row); @@ -345,23 +343,22 @@ } } } - - private void addFieldRow(Map row, String fName, IndexableField field, - int docid) { + + private void addFieldRow(Map row, String fName, IndexableField field, int docid) { java.util.Map decoders = lukeMediator.getDecoders(); Decoder defDecoder = lukeMediator.getDefDecoder(); - + Field f = (Field) field; // putProperty(row, "field", f); // putProperty(row, "fName", fName); - + row.put("field", fName); row.put("itsvopfolb", Util.fieldFlags(f)); - + // if (f == null) { // setBoolean(cell, "enabled", false); // } - + if (f != null) { try { FieldInfo info = infos.fieldInfo(fName); @@ -380,7 +377,7 @@ row.put("norm", "---"); // setBoolean(cell, "enabled", false); } - + if (f != null) { String text = f.stringValue(); if (text == null) { @@ -391,7 +388,8 @@ } } Decoder dec = decoders.get(f.name()); - if (dec == null) dec = defDecoder; + if (dec == null) + dec = defDecoder; try { if (f.fieldType().stored()) { text = dec.decodeStored(f.name(), f); @@ -408,7 +406,7 @@ // setBoolean(cell, "enabled", false); } } - + public void showFirstTerm() { if (ir == null) { // TODO: @@ -416,18 +414,18 @@ return; } Task showFirstTermTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { try { - + fld = (String) fieldsList.getSelectedItem(); System.out.println("fld:" + fld); Terms terms = MultiFields.getTerms(ir, fld); @@ -441,20 +439,21 @@ } // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + showFirstTermTask.execute(new TaskAdapter(taskListener)); - + } - + public void showFirstTermDoc() { - - if (lastTerm == null) return; + + if (lastTerm == null) + return; if (ir == null) { // TODO: // showStatus(resources.get("documentsTab_noOrClosedIndex")); @@ -461,19 +460,18 @@ return; } Task showFirstTermDocTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { try { - DocsAndPositionsEnum td = MultiFields.getTermPositionsEnum(ir, null, - lastTerm.field(), lastTerm.bytes()); + DocsAndPositionsEnum td = MultiFields.getTermPositionsEnum(ir, null, lastTerm.field(), lastTerm.bytes()); td.nextDoc(); tdNum.setText("1"); DocumentsTab.this.td = td; @@ -485,19 +483,20 @@ } // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + showFirstTermDocTask.execute(new TaskAdapter(taskListener)); - + } - + public void showNextTermDoc() { - if (lastTerm == null) return; + if (lastTerm == null) + return; if (ir == null) { // TODO: // showStatus(MSG_NOINDEX); @@ -504,13 +503,13 @@ return; } Task showNextTermDocTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { @@ -519,16 +518,17 @@ showFirstTermDoc(); return; } - if (td.nextDoc() == DocsEnum.NO_MORE_DOCS) return; - + if (td.nextDoc() == DocsEnum.NO_MORE_DOCS) + return; + String sCnt = tdNum.getText(); int cnt = 1; try { cnt = Integer.parseInt(sCnt); } catch (Exception e) {} - + tdNum.setText(String.valueOf(cnt + 1)); - + showTermDoc(); } catch (Exception e) { e.printStackTrace(); @@ -537,17 +537,17 @@ } // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + showNextTermDocTask.execute(new TaskAdapter(taskListener)); - + } - + private void showTerm(final Term t) { if (t == null) { // TODO: @@ -559,12 +559,13 @@ // showStatus(resources.get("documentsTab_noOrClosedIndex")); return; } - + lastTerm = t; - + fieldsList.setSelectedItem(t.field()); Decoder dec = lukeMediator.getDecoders().get(t.field()); - if (dec == null) dec = lukeMediator.getDefDecoder(); + if (dec == null) + dec = lukeMediator.getDefDecoder(); String s = null; boolean decodeErr = false; try { @@ -573,12 +574,12 @@ s = e.getMessage(); decodeErr = true; } - + termText.setText(t.text()); - + if (!s.equals(t.text())) { decText.setText(s); - + if (decodeErr) { // setColor(rawText, "foreground", Color.RED); } else { @@ -588,30 +589,30 @@ decText.setText(""); // setColor(rawText, "foreground", Color.BLACK); } - + lastTerm = t; // putProperty(fText, "decText", s); - + td = null; tdNum.setText("?"); tFreq.setText("?"); - + Task updateDfTdTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { - + try { int freq = ir.docFreq(t); dFreq.setText(String.valueOf(freq)); - + tdMax.setText(String.valueOf(freq)); } catch (Exception e) { e.printStackTrace(); @@ -621,17 +622,17 @@ } // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + updateDfTdTask.execute(new TaskAdapter(taskListener)); } - + public void showNextTerm() { if (ir == null) { // TODO: @@ -639,13 +640,13 @@ return; } Task showNextTermTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { @@ -656,9 +657,9 @@ showFirstTerm(); return; } - + String fld = (String) fieldsList.getSelectedItem(); - + SeekStatus status; BytesRef rawTerm = null; if (te != null) { @@ -665,12 +666,11 @@ rawTerm = te.term(); } String rawString = rawTerm != null ? rawTerm.utf8ToString() : null; - - if (te == null || !DocumentsTab.this.fld.equals(fld) - || !text.equals(rawString)) { + + if (te == null || !DocumentsTab.this.fld.equals(fld) || !text.equals(rawString)) { Terms terms = MultiFields.getTerms(ir, fld); te = terms.iterator(null); - + DocumentsTab.this.fld = fld; status = te.seekCeil(new BytesRef(text)); if (status.equals(SeekStatus.FOUND)) { @@ -702,7 +702,7 @@ // showStatus("No more terms"); return; } - + showTerm(new Term(fld, rawTerm)); } catch (Exception e) { e.printStackTrace(); @@ -711,17 +711,17 @@ } // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + showNextTermTask.execute(new TaskAdapter(taskListener)); - + } - + private void showTermDoc() { if (ir == null) { // TODO: @@ -729,13 +729,13 @@ return; } Task showTermDocTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { @@ -742,9 +742,9 @@ try { Document doc = ir.document(td.docID()); docNum.setText(String.valueOf(td.docID())); - + tFreq.setText(String.valueOf(td.freq())); - + popTableWithDoc(td.docID(), doc); } catch (Exception e) { e.printStackTrace(); @@ -751,20 +751,20 @@ // TODO: // showStatus(e.getMessage()); } - + // ai.setActive(false); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); } }; - + showTermDocTask.execute(new TaskAdapter(taskListener)); - + } - + public void showAllTermDoc() { final IndexReader ir = lukeMediator.getIndexInfo().getReader(); if (ir == null) { @@ -786,13 +786,13 @@ final Query q = new TermQuery(lastTerm); // parsedQueryLabel.setText(q.toString()); Task showAllTermDocTask = new Task() { - + @Override public Object execute() throws TaskExecutionException { return null; } }; - + TaskListener taskListener = new TaskListener() { @Override public void taskExecuted(Task task) { @@ -811,7 +811,7 @@ // ai.setActive(false); // lukeWindow.setEnabled(true); } - + @Override public void executeFailed(Task task) { // ai.setActive(false); @@ -818,9 +818,9 @@ // lukeWindow.setEnabled(true); } }; - + showAllTermDocTask.execute(new TaskAdapter(taskListener)); - + } - + } Index: src/org/apache/lucene/luke/ui/LukeInitWindow.bxml =================================================================== --- src/org/apache/lucene/luke/ui/LukeInitWindow.bxml (revision 1517404) +++ src/org/apache/lucene/luke/ui/LukeInitWindow.bxml (working copy) @@ -1,9 +1,9 @@ - + - - + +