Package net.sf.basedb.plugins
Class PlateFlatFileImporter
- java.lang.Object
-
- net.sf.basedb.core.plugin.AbstractPlugin
-
- net.sf.basedb.plugins.AbstractFlatFileImporter
-
- net.sf.basedb.plugins.PlateFlatFileImporter
-
- All Implemented Interfaces:
AutoDetectingImporter
,InteractivePlugin
,Plugin
,SignalTarget
,ConfigureByExample
public class PlateFlatFileImporter extends AbstractFlatFileImporter implements InteractivePlugin, ConfigureByExample
- Version:
- 2.0
- Author:
- Enell
- Last modified
- $Date: 2019-03-20 16:21:26 +0100 (ons, 20 mars 2019) $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Plugin.MainType
-
-
Field Summary
-
Fields inherited from class net.sf.basedb.plugins.AbstractFlatFileImporter
complexMappings, dataFooterRegexpParameter, dataHeaderRegexpParameter, dataSplitterRegexpParameter, defaultErrorParameter, errorSection, excelSheetParameter, fileParameter, fileType, headerRegexpParameter, ignoreRegexpParameter, invalidUseOfNullErrorParameter, mappingSection, maxDataColumnsParameter, minDataColumnsParameter, numberFormatErrorParameter, numberOutOfRangeErrorParameter, numDataColumnsType, optionalRegexpType, parserSection, requiredRegexpType, sectionRegexpParameter, stringTooLongErrorParameter, trimQuotesParameter
-
Fields inherited from class net.sf.basedb.core.plugin.AbstractPlugin
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
-
-
Constructor Summary
Constructors Constructor Description PlateFlatFileImporter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
begin(FlatFileParser ffp)
Create aDbControl
and aRawDataBatcher
.protected void
beginData()
Initialise columnMapper
:s.void
configure(GuiContext context, Request request, Response response)
Store configuration settings forRequest.COMMAND_CONFIGURE_PLUGIN
andRequest.COMMAND_CONFIGURE_JOB
.protected void
end(boolean success)
Close and commit/rollback and DbControl.private List<PluginParameter<String>>
getAllColumnMappings()
private RequestInformation
getConfigureJobParameters(GuiContext context)
private RequestInformation
getConfigurePluginParameters(GuiContext context)
Set<GuiContext>
getGuiContexts()
Get a set containing all items that the plugin handles.Collection<Permissions>
getPermissions()
Request create access to Plate:s, use access to PlateType:s and read access to Reporter:s, PlateGeometry:s and File:s.RequestInformation
getRequestInformation(GuiContext context, String command)
TheRequest.COMMAND_CONFIGURE_PLUGIN
command will ask for parser regular expressions and column mappings.protected String
getSuccessMessage(int skippedLines)
Returnx plates inserted
.protected void
handleData(FlatFileParser.Data data)
Called by the parser for every line in the file that is a data line.String
isInContext(GuiContext context, Object item)
Always null, since plugin doesn't operate on individual items.boolean
requiresConfiguration()
Return TRUE, since the implementation requires it for finding the regular expressions used by theFlatFileParser
.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.plugins.AbstractFlatFileImporter
addErrorHandler, checkColumnMapping, checkColumnMapping, continueWithNextFileAfterError, doImport, finish, getCharset, getCharset, getDateFormatter, getDecimalSeparator, getErrorHandler, getErrorOption, getFileIterator, getInitializedFlatFileParser, getMainType, getMapper, getMapper, getNumberFormat, getNumBytes, getPattern, getProgress, getSignalHandler, getTimestampFormatter, getTotalFileSize, handleHeader, handleSection, isImportable, isImportable, log, log, log, log, run, setUpErrorHandling, start, wrapInputStream
-
Methods inherited from class net.sf.basedb.core.plugin.AbstractPlugin
cloneParameterWithDefaultValue, closeLogFile, createLogFile, done, getCopyAnnotationsParmeter, getCurrentConfiguration, getCurrentJob, getJobOrConfigurationValue, getOverwriteAnnotationsParameters, 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, getMainType, init, run
-
-
-
-
Field Detail
-
guiContexts
private static final Set<GuiContext> guiContexts
-
permissions
private static final Set<Permissions> permissions
-
columnColumnMapping
private static final PluginParameter<String> columnColumnMapping
-
rowColumnMapping
private static final PluginParameter<String> rowColumnMapping
-
reporterColumnMapping
private static final PluginParameter<String> reporterColumnMapping
-
nameColumnMapping
private static final PluginParameter<String> nameColumnMapping
-
barcodeColumnMapping
private static final PluginParameter<String> barcodeColumnMapping
-
plateNamePrefixParameter
private PluginParameter<String> plateNamePrefixParameter
-
reporterPrefixParameter
private PluginParameter<String> reporterPrefixParameter
-
namePaddingParameter
private PluginParameter<Integer> namePaddingParameter
-
missingReporterErrorParameter
protected static final PluginParameter<String> missingReporterErrorParameter
-
plateTypeType
private ItemParameterType<PlateType> plateTypeType
-
plateTypeParameter
private PluginParameter<PlateType> plateTypeParameter
-
allColumnMappings
private List<PluginParameter<String>> allColumnMappings
-
configurePlugin
private RequestInformation configurePlugin
-
configureJob
private RequestInformation configureJob
-
dc
private DbControl dc
-
ffp
private FlatFileParser ffp
-
numPlates
private int numPlates
-
numWells
private int numWells
-
plateType
private PlateType plateType
-
plateNamePrefix
private String plateNamePrefix
-
plateNamePadding
private Integer plateNamePadding
-
reporterPrefix
private String reporterPrefix
-
reporterMapper
private Mapper reporterMapper
-
nameMapper
private Mapper nameMapper
-
barcodeMapper
private Mapper barcodeMapper
-
rowMapper
private Mapper rowMapper
-
columnMapper
private Mapper columnMapper
-
reporterBatcher
private ReporterBatcher reporterBatcher
-
errorIfNotFound
private boolean errorIfNotFound
-
-
Method Detail
-
supportsConfigurations
public boolean supportsConfigurations()
Description copied from class:AbstractPlugin
Returns TRUE, since that is how the plugins used to work before this method was introduced.- Specified by:
supportsConfigurations
in interfacePlugin
- Overrides:
supportsConfigurations
in classAbstractPlugin
- Returns:
- TRUE or FALSE
-
requiresConfiguration
public boolean requiresConfiguration()
Description copied from class:AbstractFlatFileImporter
Return TRUE, since the implementation requires it for finding the regular expressions used by theFlatFileParser
. If this method is overridden and returns FALSE, the subclass must also override theAbstractFlatFileImporter.getInitializedFlatFileParser()
method and provide a parser with all regular expressions and other options set.- Specified by:
requiresConfiguration
in interfacePlugin
- Overrides:
requiresConfiguration
in classAbstractFlatFileImporter
- Returns:
- TRUE or FALSE
-
getPermissions
public Collection<Permissions> getPermissions()
Request create access to Plate:s, use access to PlateType:s and read access to Reporter:s, PlateGeometry:s and File:s.- Specified by:
getPermissions
in interfacePlugin
- Overrides:
getPermissions
in classAbstractPlugin
- Returns:
- A collection of permissions or null to not use permissions
-
getGuiContexts
public Set<GuiContext> getGuiContexts()
Description copied from interface:InteractivePlugin
Get a set containing all items that the plugin handles. Ie. if the plugin imports reporters, return a set containingItem.REPORTER
. This information is used by client applications to put the plugin in the proper place in the user interface.- Specified by:
getGuiContexts
in interfaceInteractivePlugin
- Returns:
- A
Set
containingItem
:s, or null if the plugin is not concerned about items
-
isInContext
public String isInContext(GuiContext context, Object item)
Always null, since plugin doesn't operate on individual items.- Specified by:
isInContext
in interfaceInteractivePlugin
- Parameters:
context
- The current context of the client application, it is one of the values found in set returned byInteractivePlugin.getGuiContexts()
item
- The currently active item, it's type should match theGuiContext.getItem()
type, or null if the context is a list context- Returns:
Null
if the plugin can use that item, or a warning-level message explaining why the plugin can't be used
-
getRequestInformation
public RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
TheRequest.COMMAND_CONFIGURE_PLUGIN
command will ask for parser regular expressions and column mappings. TheRequest.COMMAND_CONFIGURE_JOB
command will ask for a file and whatPlateType
the plates in the file has.- Specified by:
getRequestInformation
in interfaceInteractivePlugin
- Parameters:
context
- The current context of the client application, it is one of the values found in set returned byInteractivePlugin.getGuiContexts()
command
- The command- Returns:
- The
RequestInformation
for the command - Throws:
BaseException
- if there is an error
-
configure
public void configure(GuiContext context, Request request, Response response)
Store configuration settings forRequest.COMMAND_CONFIGURE_PLUGIN
andRequest.COMMAND_CONFIGURE_JOB
.- Specified by:
configure
in interfaceInteractivePlugin
- Parameters:
context
- The current context of the client application, it is one of the values found in set returned byInteractivePlugin.getGuiContexts()
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response through
-
begin
protected void begin(FlatFileParser ffp) throws BaseException
- Overrides:
begin
in classAbstractFlatFileImporter
- Throws:
BaseException
- See Also:
AbstractFlatFileImporter.end(boolean)
-
beginData
protected void beginData()
Initialise columnMapper
:s.- Overrides:
beginData
in classAbstractFlatFileImporter
-
end
protected void end(boolean success) throws BaseException
Close and commit/rollback and DbControl.- Overrides:
end
in classAbstractFlatFileImporter
- Parameters:
success
- TRUE if the file was parsed successfully, FALSE otherwise- Throws:
BaseException
- See Also:
AbstractFlatFileImporter.begin(FlatFileParser)
-
handleData
protected void handleData(FlatFileParser.Data data) throws BaseException
Description copied from class:AbstractFlatFileImporter
Called by the parser for every line in the file that is a data line.- Specified by:
handleData
in classAbstractFlatFileImporter
- Throws:
BaseException
-
getSuccessMessage
protected String getSuccessMessage(int skippedLines)
Returnx plates inserted
.- Overrides:
getSuccessMessage
in classAbstractFlatFileImporter
- Parameters:
skippedLines
- The number of data lines that were skipped due to errors
-
getConfigurePluginParameters
private RequestInformation getConfigurePluginParameters(GuiContext context)
-
getConfigureJobParameters
private RequestInformation getConfigureJobParameters(GuiContext context)
-
getAllColumnMappings
private List<PluginParameter<String>> getAllColumnMappings()
-
-