public class PluginConfigurationImporter extends AbstractPlugin implements InteractivePlugin, AutoDetectingImporter, SignalTarget
Plugin.MainType
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
COMMAND_SELECT_CONFIGURATIONS |
private java.util.HashMap<java.lang.Integer,java.lang.Boolean> |
configurationMap |
private RequestInformation |
configureJob |
private RequestInformation |
configureSelection |
private static java.lang.String |
dtdFileName |
private static java.util.Set<GuiContext> |
guiContexts |
private boolean |
importAll |
private static PluginParameter<java.lang.Boolean> |
importAllParameter |
private static GuiContext |
pluginConfigurationList |
private boolean |
setPermissions |
private static PluginParameter<java.lang.Boolean> |
setPermissionsParameter |
private ThreadSignalHandler |
signalHandler |
private File |
xmlFile |
private static PluginParameter<File> |
xmlFileParameter |
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
Constructor and Description |
---|
PluginConfigurationImporter() |
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 boolean |
getConfigurationInstallOption(int orderNumber)
Returns if a configuration in a certain place/order in the XML-file should be imported
|
private RequestInformation |
getConfiguredJobParameters() |
private RequestInformation |
getConfiguredSelectionParameters()
Gets request information to set which configuration to import
|
java.util.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,
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.
|
void |
importPluginConfigurationsFromJar(java.lang.String jarPath,
java.lang.String xmlPath,
java.util.HashMap<java.lang.Integer,java.lang.Boolean> configurations,
boolean importAll,
boolean setPermissions)
Imports plugin configurations direct from an xml file, located in a jar.
|
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, getPermissions, init, log, log, storeValue, storeValue, storeValues, validateRequestParameters
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
done, getPermissions, init
private static final java.lang.String COMMAND_SELECT_CONFIGURATIONS
private static final java.lang.String dtdFileName
private static final GuiContext pluginConfigurationList
private static final java.util.Set<GuiContext> guiContexts
private static final PluginParameter<File> xmlFileParameter
private static final PluginParameter<java.lang.Boolean> setPermissionsParameter
private static final PluginParameter<java.lang.Boolean> importAllParameter
private RequestInformation configureJob
private RequestInformation configureSelection
private File xmlFile
private boolean setPermissions
private boolean importAll
private java.util.HashMap<java.lang.Integer,java.lang.Boolean> configurationMap
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 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 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 wrongpublic SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
public void importPluginConfigurationsFromJar(java.lang.String jarPath, java.lang.String xmlPath, java.util.HashMap<java.lang.Integer,java.lang.Boolean> configurations, boolean importAll, boolean setPermissions) throws java.io.IOException, org.jdom.JDOMException, BaseException
jarPath
- Path to the jar-filexmlPath
- Where in the jar-file the XML-file is locatedconfigurations
- A hasmap with a boolean value for each configuration in the xml-file.
The value should be TRUE if the configuration should be imported, FALSE otherwise.importAll
- If all configurations in the xml-file should be imported or not.setPermissions
- If the configurations should be shared to the same users as the plugins they belong to.java.io.IOException
- When something goes wrong accessing a fileorg.jdom.JDOMException
- When failed to read the XML-fileBaseException
- When the hashmap with import options has different
size compared to number of configurations in XML-fileprivate RequestInformation getConfiguredJobParameters()
private RequestInformation getConfiguredSelectionParameters()
private boolean getConfigurationInstallOption(int orderNumber)
orderNumber
- The number of order the configuration has in the XML-file