public class HelpImporter extends AbstractPlugin implements InteractivePlugin, AutoDetectingImporter, SignalTarget
Plugin.MainType
Modifier and Type | Field and Description |
---|---|
private Client |
client |
private static GuiContext |
clientItem |
private PluginParameter<Client> |
clientParameter |
private RequestInformation |
configureJob |
private static java.lang.String |
dtdFileName |
private java.lang.String |
filename |
private PluginParameter<File> |
fileParameter |
private static java.util.Set<GuiContext> |
guiContexts |
private static GuiContext |
helpList |
private int |
numImported |
private int |
numTotal |
private int |
numUpdated |
private boolean |
overwrite |
private PluginParameter<java.lang.Boolean> |
overWriteParameter |
private static java.util.Set<Permissions> |
permissions |
private ThreadSignalHandler |
signalHandler |
private File |
xmlFile |
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
Constructor and Description |
---|
HelpImporter() |
Modifier and Type | Method and Description |
---|---|
void |
configure(GuiContext context,
Request request,
Response response)
Configure the plugin.
|
void |
doImport(java.io.InputStream in,
ProgressReporter progress)
Import the data from the given
InputStream . |
private RequestInformation |
getConfiguredJobParameters() |
java.util.Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles.
|
Plugin.MainType |
getMainType()
Get the type of the plugin.
|
java.util.Collection<Permissions> |
getPermissions()
Request write access to Client:s and read access to
File:s.
|
RequestInformation |
getRequestInformation(GuiContext context,
java.lang.String command)
This method will return the
RequestInformation for a given command, i.e. |
SignalHandler |
getSignalHandler()
Get the signal handler that is handling signals on behalf of this
object.
|
private java.lang.String |
getSuccessMessage() |
void |
installHelpTexts(Client client,
boolean overwrite,
java.io.InputStream is,
java.lang.String filename)
This method installs the helptexts from an inputstream.
|
boolean |
isImportable(java.io.InputStream in)
Check if the given
InputStream can be imported by this
plugin. |
java.lang.String |
isInContext(GuiContext context,
java.lang.Object item)
Check if the plugin can be used on the specified object.
|
boolean |
requiresConfiguration()
Returns FALSE, since that is how the plugins used to work before this method
was introduced.
|
void |
run(Request request,
Response response,
ProgressReporter progress)
Run the plugin.
|
boolean |
supportsConfigurations()
Returns TRUE, since that is how the plugins used to work before this method
was introduced.
|
cloneParameterWithDefaultValue, closeLogFile, createLogFile, done, getCopyAnnotationsParmeter, getCurrentConfiguration, getCurrentJob, getJobOrConfigurationValue, getOverwriteAnnotationsParameters, init, log, log, storeValue, storeValue, storeValues, validateRequestParameters
private int numImported
private int numUpdated
private int numTotal
private boolean overwrite
private Client client
private File xmlFile
private java.lang.String filename
private PluginParameter<File> fileParameter
private PluginParameter<Client> clientParameter
private PluginParameter<java.lang.Boolean> overWriteParameter
private RequestInformation configureJob
private static final java.lang.String dtdFileName
private static final GuiContext clientItem
private static final GuiContext helpList
private static final java.util.Set<GuiContext> guiContexts
private static final java.util.Set<Permissions> permissions
private ThreadSignalHandler signalHandler
public java.util.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 java.lang.String isInContext(GuiContext context, java.lang.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
contextNull
if the plugin can use that item, or
a warning-level message explaining why the plugin can't be usedpublic RequestInformation getRequestInformation(GuiContext context, java.lang.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 commandRequestInformation
for the commandBaseException
- 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
throughpublic Plugin.MainType getMainType()
Plugin
getMainType
in interface Plugin
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 java.util.Collection<Permissions> getPermissions()
getPermissions
in interface Plugin
getPermissions
in class AbstractPlugin
public void run(Request request, Response response, ProgressReporter progress)
Plugin
run
in interface Plugin
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response
throughprogress
- A ProgressReporter
where the plugin can report
its progess, can be nullpublic SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
public boolean isImportable(java.io.InputStream in) throws BaseException
AutoDetectingImporter
InputStream
can be imported by this
plugin.isImportable
in interface AutoDetectingImporter
in
- The input stream to checkBaseException
- If something goes wrongpublic void doImport(java.io.InputStream in, ProgressReporter progress) throws BaseException
AutoDetectingImporter
InputStream
.doImport
in interface AutoDetectingImporter
in
- The input stream to read fromprogress
- Progress reporter used by the caller to keep track of the progress.
Null is allowedBaseException
- If something goes wrongprivate RequestInformation getConfiguredJobParameters()
public void installHelpTexts(Client client, boolean overwrite, java.io.InputStream is, java.lang.String filename)
client
- The client that owns the helptextsoverwrite
- Handles duplicate of externalID.
True - the existing texts in database will be overwritten
with the one from importfile that have same externalID.
False - the existing texts in database are not overwritten
with the one from importfile that have the same externalID.is
- InputStream from the xml-file with texts to importfilename
- The filename of the original file or null if not knownprivate java.lang.String getSuccessMessage()