You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2011/11/02 14:52:09 UTC

svn commit: r1196584 - /incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java

Author: joern
Date: Wed Nov  2 13:52:08 2011
New Revision: 1196584

URL: http://svn.apache.org/viewvc?rev=1196584&view=rev
Log:
OPENNLP-351 Now enter or selection from the query combo triggers a search.

Modified:
    incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java

Modified: incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java?rev=1196584&r1=1196583&r2=1196584&view=diff
==============================================================================
--- incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java (original)
+++ incubator/opennlp/sandbox/caseditor-corpus-server-plugin/src/main/java/org/apache/opennlp/corpus_server/caseditor/CorpusExplorerView.java Wed Nov  2 13:52:08 2011
@@ -17,8 +17,6 @@
 
 package org.apache.opennlp.corpus_server.caseditor;
 
-import javax.ws.rs.core.MediaType;
-
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.eclipse.core.runtime.jobs.IJobChangeEvent;
@@ -32,10 +30,14 @@ import org.eclipse.jface.viewers.OpenEve
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.events.VerifyEvent;
+import org.eclipse.swt.events.VerifyListener;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -64,6 +66,80 @@ public class CorpusExplorerView extends 
   
   private TableViewer searchResultViewer;
   
+  private void doSearch() {
+    // Remember query and save last queries to the preference store
+    int queryIndex = queryText.indexOf(queryText.getText());
+    
+    if (queryIndex != -1) {
+      queryText.remove(queryIndex);
+    }
+    
+    queryText.add(queryText.getText(), 0);
+    
+    if (queryText.getItemCount() > 10) {
+      queryText.remove(queryText.getItemCount() - 1);
+    }
+    
+    // TODO: Serialize history to lastUsedQueries settings ...
+    StringBuilder lastUsedQueriesString = new StringBuilder();
+    
+    for (int i = 0; i < queryText.getItemCount(); i++) {
+      lastUsedQueriesString.append(queryText.getItem(i));
+      lastUsedQueriesString.append(LUCENE_QUERY_DELIMITER);
+    }
+    
+    IPreferenceStore store = CorpusServerPlugin.getDefault().getPreferenceStore();
+    
+    store.setValue(CorpusServerPreferenceConstants.LAST_USED_SEARCH_QUERIES,
+        lastUsedQueriesString.toString());
+    
+    // get server url
+    String serverPath = serverUrl.getText();
+    
+    // get query
+    String query = queryText.getText();
+    
+    final SearchCorpusServerJob searchJob = new SearchCorpusServerJob();
+    
+    searchJob.setServerAddress(serverPath);
+    searchJob.setQuery(query);
+    
+    searchJob.schedule();
+    
+    setMessage("Fetching results ...");
+    
+    searchJob.addJobChangeListener(new JobChangeAdapter(){
+      @Override
+      public void done(final IJobChangeEvent event) {
+        
+        Display.getDefault().asyncExec(new Runnable() {
+
+          @Override
+          public void run() {
+            if (event.getResult().isOK()) {
+              
+              setMessage(null);
+              
+              searchResultViewer.setItemCount(0);
+              JSONArray searchResult = searchJob.getSearchResult();
+              
+              for (int i = 0; i < searchResult.length(); i++) {
+                try {
+                  searchResultViewer.add(searchResult.getString(i));
+                } catch (JSONException e) {
+                  setMessage("Error, failed to parse results.");
+                }
+              }
+            }
+            else {
+              setMessage("Fetching search results from server failed!");
+            }
+          }
+        });
+      }
+    }); 
+  }
+  
   @Override
   public void createPartControl(Composite parent) {
 
@@ -125,6 +201,32 @@ public class CorpusExplorerView extends 
       queryText.add(lastUsedQueries[i]);
     }
     
+    
+    queryText.addSelectionListener(new SelectionListener() {
+      
+      @Override
+      public void widgetSelected(SelectionEvent event) {
+        doSearch();
+      }
+      
+      @Override
+      public void widgetDefaultSelected(SelectionEvent event) {
+      }
+    });
+    
+    queryText.addKeyListener(new KeyListener() {
+      
+      @Override
+      public void keyReleased(KeyEvent event) {
+        if (event.character ==SWT.CR)
+          doSearch();
+      }
+      
+      @Override
+      public void keyPressed(KeyEvent event) {
+      }
+    });
+    
     Button queryServer = new Button(explorerComposite, SWT.BORDER);
     queryServer.setText("Query");
     GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER)
@@ -134,76 +236,7 @@ public class CorpusExplorerView extends 
 
       @Override
       public void widgetSelected(SelectionEvent event) {
-        
-        // Remember query and save last queries to the preference store
-        int queryIndex = queryText.indexOf(queryText.getText());
-        
-        if (queryIndex != -1) {
-          queryText.remove(queryIndex);
-        }
-        
-        queryText.add(queryText.getText(), 0);
-        
-        if (queryText.getItemCount() > 10) {
-          queryText.remove(queryText.getItemCount() - 1);
-        }
-        
-        // TODO: Serialize history to lastUsedQueries settings ...
-        StringBuilder lastUsedQueriesString = new StringBuilder();
-        
-        for (int i = 0; i < queryText.getItemCount(); i++) {
-          lastUsedQueriesString.append(queryText.getItem(i));
-          lastUsedQueriesString.append(LUCENE_QUERY_DELIMITER);
-        }
-        
-        store.setValue(CorpusServerPreferenceConstants.LAST_USED_SEARCH_QUERIES,
-            lastUsedQueriesString.toString());
-        
-        // get server url
-        String serverPath = serverUrl.getText();
-        
-        // get query
-        String query = queryText.getText();
-        
-        final SearchCorpusServerJob searchJob = new SearchCorpusServerJob();
-        
-        searchJob.setServerAddress(serverPath);
-        searchJob.setQuery(query);
-        
-        searchJob.schedule();
-        
-        setMessage("Fetching results ...");
-        
-        searchJob.addJobChangeListener(new JobChangeAdapter(){
-          @Override
-          public void done(final IJobChangeEvent event) {
-            
-            Display.getDefault().asyncExec(new Runnable() {
-
-              @Override
-              public void run() {
-                if (event.getResult().isOK()) {
-                  
-                  setMessage(null);
-                  
-                  searchResultViewer.setItemCount(0);
-                  JSONArray searchResult = searchJob.getSearchResult();
-                  
-                  for (int i = 0; i < searchResult.length(); i++) {
-                    try {
-                      searchResultViewer.add(searchResult.getString(i));
-                    } catch (JSONException e) {
-                      setMessage("Error, failed to parse results.");
-                    }
-                  }
-                }
-                else {
-                  setMessage("Fetching search results from server failed!");
-                }
-              }
-            });
-          }
-        }); 
+        doSearch();
       }
 
       @Override