Difference between revisions of "XQuery Development Tools/Where to Start"
(3 intermediate revisions by the same user not shown) | |||
Line 33: | Line 33: | ||
** <code>ZorbaInstallType</code> | ** <code>ZorbaInstallType</code> | ||
** <code>ZorbaInstall</code> | ** <code>ZorbaInstall</code> | ||
− | |||
* the <code>org.eclipse.wst.xquery.launching</code> plug-in | * the <code>org.eclipse.wst.xquery.launching</code> plug-in | ||
− | * <code>XQDTJavaInterpreterInstallType</code> | + | ** <code>XQDTJavaInterpreterInstallType</code> |
− | * <code>XQDTJavaInterpreterInstall</code> | + | ** <code>XQDTJavaInterpreterInstall</code> |
+ | |- | ||
+ | ! Custom "Add Interpreter" Dialog | ||
+ | | | ||
+ | * The XQuery processors might be very different in terms of where they are located (local/remote), the libraries needed to run, the framework they are based on, etc. The default <code>AddLocalInterpreterDialogBlock</code> might not be satisfactory for some processors due to the string assumption that the processor must have executable file available on the local machine. To allow other processor types, one might need to define his own UI controls and logic when adding such a processor in XQDT. | ||
+ | * XQDT allows vendors to provide an entire UI component to meet the processor's need. | ||
+ | | | ||
+ | * org.eclipse.wst.xquery.debug.ui | ||
+ | * org.eclipse.wst.xquery.debug.ui.<b><i>your_debug_ui_plugin</i></b> | ||
+ | | | ||
+ | * <code>AbstractAddInterpreterDialogBlock</code> | ||
+ | * add the <code>org.eclipse.wst.xquery.debug.ui.interpreterInstallTypeAddDialogBlock</code> extension point in <b><i>your_debug_ui_plugin</i></b>, provide a reference to your implementation of <code>AbstractAddInterpreterDialogBlock</code> and associate it to your <code>IInterpreterInstallType</code> ID. | ||
+ | | | ||
+ | * plug-in <code>org.eclipse.wst.xquery.ui.zorba</code> | ||
+ | * <code>ZorbaTemplateProposalComputer</code> | ||
+ | * <code>ZorbaTemplateCompletionProcessor</code> | ||
+ | * <code>ZorbaTemplateAccess</code> | ||
+ | * <code>ZorbaTemplateContentType</code> | ||
+ | * <code>ZorbaTemplateContext<code> | ||
+ | |- | ||
+ | ! Running XQuery | ||
+ | | | ||
+ | * Having new XQuery processor type defined (an <code>IInterpreterType</code>), a vendor must also provide the logic on how to start the process executing the XQuery code. This will build the command line that will be executed by the operating system. | ||
+ | | | ||
+ | * org.eclipse.wst.xquery.launching | ||
+ | * org.eclipse.wst.xquery.launching.<b><i>your_launching_plugin</i></b> | ||
+ | | | ||
+ | * <code>IInterpreterRunner</code> or <code>AbstractInterpreterRunner</code> referenced from your <code>IInterpreterInstall</code>. This runner is only needed for the "run" mode (not for "debug" mode). See the <code>XQDTJavaInterpreterInstall</code> example for a sample implementation. | ||
+ | | | ||
+ | * the <code>org.eclipse.wst.xquery.launching.zorba</code> plug-in | ||
+ | ** <code>ZorbaInstall</code> | ||
+ | ** <code>ZorbaRunner</code> | ||
+ | * the <code>org.eclipse.wst.xquery.launching</code> plug-in | ||
+ | ** <code>XQDTJavaInterpreterInstall</code> | ||
+ | ** <code>XQDTJavaInterpreterRunner</code> | ||
|- | |- | ||
! Semantic Checker | ! Semantic Checker | ||
Line 68: | Line 101: | ||
| | | | ||
* Vendors can provide their own templates (code snippets) to be added to the default set of templates shipped with the core of XQDT. | * Vendors can provide their own templates (code snippets) to be added to the default set of templates shipped with the core of XQDT. | ||
+ | * Moreover, vendors can resolve template variables in different ways. E.g. providing only in scope variables in a place where a variable is expected, etc. | ||
| | | | ||
* org.eclipse.wst.xquery.ui.<b><i>your_ui_plugin</i></b> | * org.eclipse.wst.xquery.ui.<b><i>your_ui_plugin</i></b> |
Latest revision as of 09:45, 28 May 2010
What is the "Where to Start" page?
This page gathers a list of features of XQDT and the place in the project where this feature is implemented or where the developer should first look and start understanding and debugging the functionality.
Feature table
NOTE: For all the classes below we have omitted the fully qualified name to keep the descriptions shorter. For example, XQDTInterpreterInstallType
refers to org.eclipse.wst.xquery.launching.XQDTInterpreterInstallType
. Eclipse helps you find these types with the "Open Type" dialog (available under the "Navigate" menu or by pressing the key combination: Ctrl-Shift-T). In case you find more classes having the same name (though not the case so far), just choose the one from our project, that is, having a package name starting with: org.eclipse.wst.xquery
.
Feature name | Feature description | Plug-ins involved | Need to implement | Sample implementation |
---|---|---|---|---|
New XQuery Processor Type |
|
|
|
|
Custom "Add Interpreter" Dialog |
|
|
|
|
Running XQuery |
|
|
|
|
Semantic Checker |
|
|
|
|
URI Resolving |
|
|
|
|
Vendor code templates |
|
|
|
|