|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.basedb.core.plugin.AbstractPlugin net.sf.basedb.core.plugin.AbstractExporterPlugin net.sf.basedb.clients.web.plugins.SimpleExport
public class SimpleExport
Export plugin for exporting data from table listings in the web client. This plugin only works from within the web client, since it depends on context and table information. It must have access to the current query which means that it always must be executed immediately, since queries can't be saved as parameters.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin |
---|
Plugin.MainType |
Field Summary | |
---|---|
private static About |
about
Plugin description |
private static String |
COLUMN_PREFIX
|
private RequestInformation |
configureJob
|
private DbControl |
dc
|
private static String |
FORMAT
|
private static Set<GuiContext> |
guiContexts
|
private static String |
SAME_UNITS
|
private ThreadSignalHandler |
signalHandler
|
private String |
successMessage
|
private static String |
WHICH_ITEMS
|
private static String |
WHICH_PROPERTIES
|
Fields inherited from class net.sf.basedb.core.plugin.AbstractExporterPlugin |
---|
optionalSaveAsType, OVERWRITE, overwriteType, requiredSaveAsType, SAVE_AS |
Fields inherited from class net.sf.basedb.core.plugin.AbstractPlugin |
---|
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc |
Constructor Summary | |
---|---|
SimpleExport()
|
Method Summary | |
---|---|
protected void |
begin(DbControl dc)
Called just before the export starts. |
void |
configure(GuiContext context,
Request request,
Response response)
Configure the plugin. |
protected void |
end(boolean success)
Called just after everything has been committed to the database, or immediately after an error has ocurred. |
void |
exportProperties(DbControl dc,
ExportOutputStream out,
String format,
List<ExportedProperty> exportedProperties,
Item itemType,
Query query,
ProgressReporter progress)
Exports properties from a query to an output stream. |
About |
getAbout()
Get information about the plugin, such as name, version, authors, etc. |
private PluginParameter<String> |
getColumnPrefixParameter()
|
private RequestInformation |
getConfigureJobParameters(GuiContext context)
|
private PluginParameter<String> |
getFormatParameter()
|
Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles. |
Plugin.MainType |
getMainType()
Get the type of the plugin. |
RequestInformation |
getRequestInformation(GuiContext context,
String command)
This method will return the RequestInformation for a given command, i.e. |
private PluginParameter<Boolean> |
getSameUnitsParameter()
|
SignalHandler |
getSignalHandler()
Get the signal handler that is handling signals on behalf of this object. |
protected String |
getSuccessMessage()
Called if the export was successful to let the subclass generate a simple message that is sent back to the core and user interface. |
private PluginParameter<String> |
getWhichItemsParameter()
|
private PluginParameter<String> |
getWhichPropertiesParameter()
|
private void |
initGuiContexts()
|
String |
isInContext(GuiContext context,
Object item)
Check if the plugin can be used on the specified object. |
protected void |
performExport(ExportOutputStream out,
ProgressReporter progress)
Perform the export. |
boolean |
requiresConfiguration()
Returns FALSE, since that is how the plugins used to work before this method was introduced. |
boolean |
supportsConfigurations()
Returns TRUE, since that is how the plugins used to work before this method was introduced. |
Methods inherited from class net.sf.basedb.core.plugin.AbstractExporterPlugin |
---|
doExport, getOverwrite, getOverwriteParameter, getSaveAsParameter, getSaveAsPath, getSaveTo, pathCanBeUsed, run |
Methods inherited from class net.sf.basedb.core.plugin.AbstractPlugin |
---|
checkInterrupted, cloneParameterWithDefaultValue, closeLogFile, createLogFile, done, getCopyAnnotationsParmeter, getCurrentConfiguration, getCurrentJob, getJobOrConfigurationValue, getOverwriteAnnotationsParameters, getPermissions, init, log, log, storeValue, storeValue, storeValues, validateRequestParameters |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sf.basedb.core.plugin.Plugin |
---|
done, getPermissions, init, run |
Field Detail |
---|
private static final About about
private static final Set<GuiContext> guiContexts
private RequestInformation configureJob
private ThreadSignalHandler signalHandler
private DbControl dc
private String successMessage
private static final String FORMAT
private static final String WHICH_ITEMS
private static final String WHICH_PROPERTIES
private static final String COLUMN_PREFIX
private static final String SAME_UNITS
Constructor Detail |
---|
public SimpleExport()
Method Detail |
---|
public About getAbout()
Plugin
getAbout
in interface Plugin
About
objectpublic Plugin.MainType getMainType()
Plugin
getMainType
in interface Plugin
getMainType
in class AbstractExporterPlugin
public boolean supportsConfigurations()
AbstractPlugin
supportsConfigurations
in interface Plugin
supportsConfigurations
in class AbstractPlugin
public boolean requiresConfiguration()
AbstractPlugin
requiresConfiguration
in interface Plugin
requiresConfiguration
in class AbstractPlugin
public Set<GuiContext> getGuiContexts()
InteractivePlugin
Item.REPORTER
.
This information is used by client applications to put the plugin
in the proper place in the user interface.
getGuiContexts
in interface InteractivePlugin
Set
containing Item
:s, or null
if the plugin is not concerned about itemspublic String isInContext(GuiContext context, Object item)
InteractivePlugin
BasicItem
or BasicData
object, or null if called from
a list context. A client application should only call this method for
contexts matching one of
the contexts in the set returned by the InteractivePlugin.getGuiContexts()
method. For GuiContext.Type.ITEM
contexts an item
of the correct type should be passed as a parameter.
The plug-in can response with a null value indicating success, a warning-level message or throw an exception to indicate an error-level message. Client application should normally only show error-level messages to users, unless the user has requested to see warning messages.
NOTE! Before BASE 2.4 all messages were treated as error-level messages.
isInContext
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
item
- The currently active item, it's type should match the
GuiContext.getItem()
type, or null if the context is a list
context
Null
if the plugin can use that item, or
a warning-level message explaining why the plugin can't be usedpublic RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
InteractivePlugin
RequestInformation
for a given command, i.e.
the list of parameters and some nice help text.
getRequestInformation
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
command
- The command
RequestInformation
for the command
BaseException
- if there is an errorpublic void configure(GuiContext context, Request request, Response response)
InteractivePlugin
InteractivePlugin.getRequestInformation(GuiContext, String)
.
configure
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response
throughprotected void begin(DbControl dc)
AbstractExporterPlugin
begin
in class AbstractExporterPlugin
dc
- The DbControl that is used to write to the database.
A subclass may use this read from the database as wellAbstractExporterPlugin.end(boolean)
protected void performExport(ExportOutputStream out, ProgressReporter progress) throws IOException
AbstractExporterPlugin
ImmediateDownloadExporter.doExport(ExportOutputStream, ProgressReporter)
method.
performExport
in class AbstractExporterPlugin
out
- Output stream to write the exported data toprogress
- An optional progress reporter
IOException
protected void end(boolean success)
AbstractExporterPlugin
AbstractExporterPlugin.begin(DbControl)
method here.
end
in class AbstractExporterPlugin
success
- TRUE if the file was parsed successfully, FALSE otherwiseAbstractExporterPlugin.begin(DbControl)
protected String getSuccessMessage()
AbstractExporterPlugin
178 reporters exported successfully
.
The default implementation always return null.
getSuccessMessage
in class AbstractExporterPlugin
public SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
private void initGuiContexts()
private RequestInformation getConfigureJobParameters(GuiContext context)
private PluginParameter<String> getFormatParameter()
private PluginParameter<String> getWhichItemsParameter()
private PluginParameter<String> getWhichPropertiesParameter()
private PluginParameter<String> getColumnPrefixParameter()
private PluginParameter<Boolean> getSameUnitsParameter()
public void exportProperties(DbControl dc, ExportOutputStream out, String format, List<ExportedProperty> exportedProperties, Item itemType, Query query, ProgressReporter progress) throws IOException
dc
- The DbControl to use when accessing the databaseout
- Output stream to export to.format
- Use 'xml' to export in XML-format. All other inputs will give a tab-separated format.exportedProperties
- A list of which properties to include in the export.itemType
- Kind of item the export is aboutquery
- This query is used to get the items to export.progress
- Optional progress reporter to get overview of how the export is proceeding.
IOException
- If anything goes wrong with export to the output stream.
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |