|
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.plugins.PluginConfigurationImporter
public class PluginConfigurationImporter
This plugin imports pluginconfiguration from an XML-file. The XML-file need to have a DOCLET definition in the first 30 lines and the format in the XML-file should use: plugin-configuration-file.dtd in /net/sf/basedb/core/dtd/.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin |
---|
Plugin.MainType |
Field Summary | |
---|---|
private static About |
about
|
private static String |
COMMAND_SELECT_CONFIGURATIONS
|
private HashMap<Integer,Boolean> |
configurationMap
|
private RequestInformation |
configureJob
|
private RequestInformation |
configureSelection
|
private static String |
dtdFileName
|
private static Set<GuiContext> |
guiContexts
|
private boolean |
importAll
|
private static PluginParameter<Boolean> |
importAllParameter
|
private static GuiContext |
pluginConfigurationList
|
private boolean |
setPermissions
|
private static PluginParameter<Boolean> |
setPermissionsParameter
|
private ThreadSignalHandler |
signalHandler
|
private File |
xmlFile
|
private static PluginParameter<File> |
xmlFileParameter
|
Fields inherited from class net.sf.basedb.core.plugin.AbstractPlugin |
---|
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc |
Constructor Summary | |
---|---|
PluginConfigurationImporter()
|
Method Summary | |
---|---|
void |
configure(GuiContext context,
Request request,
Response response)
Configure the plugin. |
void |
doImport(InputStream in,
ProgressReporter progress)
Import the data from the given InputStream . |
About |
getAbout()
Get information about the plugin, such as name, version, authors, etc. |
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 |
Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles. |
Plugin.MainType |
getMainType()
Get the type of the plugin. |
private ParameterType |
getParameterType(Class parameterClass,
List<?> values)
Gets the ParameterType to use with a class. |
RequestInformation |
getRequestInformation(GuiContext context,
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 List |
getValueList(Element parameter,
Class classType)
Gets the list of values for a parameter from the XML-file. |
void |
importPluginConfigurationsFromJar(String jarPath,
String xmlPath,
HashMap<Integer,Boolean> configurations,
boolean importAll,
boolean setPermissions)
Imports plugin configurations direct from an xml file, located in a jar. |
boolean |
isImportable(InputStream in)
Check if the given InputStream can be imported by this
plugin. |
String |
isInContext(GuiContext context,
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. |
private void |
setPluginConf(List parameters,
PluginConfiguration plc)
Sets parameters for a PluginConfiguration |
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.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 |
Field Detail |
---|
private static final String COMMAND_SELECT_CONFIGURATIONS
private static final About about
private static final String dtdFileName
private static final GuiContext pluginConfigurationList
private static final Set<GuiContext> guiContexts
private static final PluginParameter<File> xmlFileParameter
private static final PluginParameter<Boolean> setPermissionsParameter
private static final PluginParameter<Boolean> importAllParameter
private RequestInformation configureJob
private RequestInformation configureSelection
private File xmlFile
private boolean setPermissions
private boolean importAll
private HashMap<Integer,Boolean> configurationMap
private ThreadSignalHandler signalHandler
Constructor Detail |
---|
public PluginConfigurationImporter()
Method Detail |
---|
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
throughpublic Plugin.MainType getMainType()
Plugin
getMainType
in interface Plugin
public About getAbout()
Plugin
getAbout
in interface Plugin
About
objectpublic 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(InputStream in) throws BaseException
AutoDetectingImporter
InputStream
can be imported by this
plugin.
isImportable
in interface AutoDetectingImporter
in
- The input stream to check
BaseException
- If something goes wrongpublic void doImport(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 allowed
BaseException
- If something goes wrongpublic SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
public void importPluginConfigurationsFromJar(String jarPath, String xmlPath, HashMap<Integer,Boolean> configurations, boolean importAll, boolean setPermissions) throws IOException, 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.
IOException
- When something goes wrong accessing a file
JDOMException
- When failed to read the XML-file
BaseException
- When the hashmap with import options has different
size compared to number of configurations in XML-fileprivate RequestInformation getConfiguredJobParameters()
private RequestInformation getConfiguredSelectionParameters()
private List getValueList(Element parameter, Class classType)
private ParameterType getParameterType(Class parameterClass, List<?> values)
private void setPluginConf(List parameters, PluginConfiguration plc) throws ClassNotFoundException
parameters
- A list of the parameters that shall be set to the configurationplc
- The @link{PluginConfiguration} that the parameters shall be added to.
ClassNotFoundException
- If there is an error while trying to find the type of the parameters.private boolean getConfigurationInstallOption(int orderNumber)
orderNumber
- The number of order the configuration has in the XML-file
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |