gate.gui
Class LuceneDataStoreSearchGUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by gate.creole.AbstractVisualResource
                      extended by gate.gui.LuceneDataStoreSearchGUI
All Implemented Interfaces:
DatastoreListener, Resource, FeatureBearer, NameBearer, VisualResource, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

@CreoleResource(name="Lucene Datastore Searcher",
                guiType=LARGE,
                resourceDisplayed="gate.creole.annic.SearchableDataStore",
                comment="GUI allowing to write a query with a JAPE derived syntax for querying\n a Lucene Datastore and display the results with a stacked view of the\n annotations and their values.",
                helpURL="http://gate.ac.uk/userguide/chap:annic")
public class LuceneDataStoreSearchGUI
extends AbstractVisualResource
implements DatastoreListener

GUI allowing to write a query with a JAPE derived syntax for querying a Lucene Datastore and display the results with a stacked view of the annotations and their values.
This VR is associated to SearchPR. You have to set the target with setTarget().
Features: query auto-completion, syntactic error checker, display of very big values, export of results in a file, 16 types of statistics, store display settings in gate config.

See Also:
Serialized Form

Nested Class Summary
protected  class LuceneDataStoreSearchGUI.AnnotationMouseListener
          Modifies the query or displays statistics according to the annotation rectangle clicked.
protected  class LuceneDataStoreSearchGUI.ButtonBorder
          A button with a nice etched border that changes when mouse over, select or press it.
protected  class LuceneDataStoreSearchGUI.ClearQueryAction
          Clear the queryTextArea text box.
protected  class LuceneDataStoreSearchGUI.ConfigureStackViewAction
          Show the configuration window for the annotation stack view.
protected  class LuceneDataStoreSearchGUI.ConfigureStackViewFrame
          Panel that shows a table of shortcut, annotation type and feature to display in the central view of the GUI.
protected  class LuceneDataStoreSearchGUI.ConfigureStackViewTableModel
          Table model for the stack view configuration.
protected  class LuceneDataStoreSearchGUI.ExecuteQueryAction
          Finds out the newly created query and execute it.
protected  class LuceneDataStoreSearchGUI.ExportResultsAction
          Exports results and statistics to a HTML File.
protected  class LuceneDataStoreSearchGUI.HeaderMouseListener
          Displays statistics according to the stack row header right-clicked.
protected  class LuceneDataStoreSearchGUI.NextResultsAction
          Finds out the next few results.
protected  class LuceneDataStoreSearchGUI.QueryTextArea
          JtextArea with autocompletion for the annotation types and features, context menu and undo/redo.
protected  class LuceneDataStoreSearchGUI.ResultTableCellRenderer
           
protected  class LuceneDataStoreSearchGUI.ResultTableModel
          Table model for the Result Tables.
 class LuceneDataStoreSearchGUI.TextMouseListener
          Add at the caret position or replace the selection in the query according to the text row value left clicked.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class gate.creole.AbstractVisualResource
features, handle
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
LuceneDataStoreSearchGUI()
           
 
Method Summary
 void cleanup()
          Called when the user close the datastore.
protected  boolean deleteStackRow(int row)
          Delete a row in the stackRows array by shifting the following rows to avoid empty row.
protected  int findStackRow(Object... parameters)
          Find the first stack row satisfying all the parameters.
protected  Set<String> getAnnotationSetNames(String corpusName)
           
protected  Map<String,Set<String>> getTypesAndFeatures(String corpusName, String annotationSetName)
           
 Resource init()
          Called when a View is loaded in GATE.
protected  void initGui()
          Initialize the GUI.
 void resourceAdopted(DatastoreEvent de)
          This method is called by datastore when a new resource is adopted
 void resourceDeleted(DatastoreEvent de)
          This method is called by datastore when an existing resource is deleted
 void resourceWritten(DatastoreEvent de)
          This method is called when a resource is written into the datastore
protected  void saveStackViewConfiguration()
          Save the user config data.
 void setTarget(Object target)
          Called by the GUI when this viewer/editor has to initialise itself for a specific object.
protected  void updateAnnotationSetsList()
           
protected  void updateAnnotationTypesList()
           
protected  void updateSetsTypesAndFeatures()
           
protected  void updateStackView()
          Updates the annotation stack in the central view.
protected  void updateViews()
          Update the result table and center view according to the result of the search contained in searcher.
 
Methods inherited from class gate.creole.AbstractVisualResource
getFeatures, getInitParameterValues, getParameterValue, setFeatures, setHandle, setParameterValue, setParameterValues
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gate.util.NameBearer
getName, setName
 

Constructor Detail

LuceneDataStoreSearchGUI

public LuceneDataStoreSearchGUI()
Method Detail

init

public Resource init()
Called when a View is loaded in GATE.

Specified by:
init in interface Resource
Overrides:
init in class AbstractVisualResource

cleanup

public void cleanup()
Called when the user close the datastore.

Specified by:
cleanup in interface Resource
Overrides:
cleanup in class AbstractVisualResource

initGui

protected void initGui()
Initialize the GUI.


updateViews

protected void updateViews()
Update the result table and center view according to the result of the search contained in searcher.


updateStackView

protected void updateStackView()
Updates the annotation stack in the central view.


updateAnnotationSetsList

protected void updateAnnotationSetsList()

updateAnnotationTypesList

protected void updateAnnotationTypesList()

getAnnotationSetNames

protected Set<String> getAnnotationSetNames(String corpusName)

getTypesAndFeatures

protected Map<String,Set<String>> getTypesAndFeatures(String corpusName,
                                                      String annotationSetName)

findStackRow

protected int findStackRow(Object... parameters)
Find the first stack row satisfying all the parameters.

Parameters:
parameters - couples of int*String that stands for column*value
Returns:
-2 if there is an error in parameters, -1 if not found, row satisfying the parameters otherwise
See Also:
DISPLAY column parameter, SHORTCUT column parameter, ANNOTATION_TYPE column parameter, FEATURE column parameter, CROP column parameter

deleteStackRow

protected boolean deleteStackRow(int row)
Delete a row in the stackRows array by shifting the following rows to avoid empty row.

Parameters:
row - row to delete in the stackRows array
Returns:
true if deleted, false otherwise

saveStackViewConfiguration

protected void saveStackViewConfiguration()
Save the user config data.


setTarget

public void setTarget(Object target)
Called by the GUI when this viewer/editor has to initialise itself for a specific object.

Specified by:
setTarget in interface VisualResource
Overrides:
setTarget in class AbstractVisualResource
Parameters:
target - the object (be it a Resource, DataStoreor whatever) this viewer has to display

resourceAdopted

public void resourceAdopted(DatastoreEvent de)
This method is called by datastore when a new resource is adopted

Specified by:
resourceAdopted in interface DatastoreListener

resourceDeleted

public void resourceDeleted(DatastoreEvent de)
This method is called by datastore when an existing resource is deleted

Specified by:
resourceDeleted in interface DatastoreListener

resourceWritten

public void resourceWritten(DatastoreEvent de)
This method is called when a resource is written into the datastore

Specified by:
resourceWritten in interface DatastoreListener

updateSetsTypesAndFeatures

protected void updateSetsTypesAndFeatures()