Package net.sf.basedb.plugins
Class PlateMappingImporter
- java.lang.Object
-
- net.sf.basedb.core.plugin.AbstractPlugin
-
- net.sf.basedb.plugins.AbstractFlatFileImporter
-
- net.sf.basedb.plugins.PlateMappingImporter
-
- All Implemented Interfaces:
AutoDetectingImporter
,InteractivePlugin
,Plugin
,SignalTarget
public class PlateMappingImporter extends AbstractFlatFileImporter implements InteractivePlugin
Importer for plate mappings. It has a fixed file format:Source plates=1 Source rows=3 Source columns=3 Destination plates=1 Destination rows=3 Destination columns=3 Source plate Source row Source column Destination plate Destination row Destination column 0 0 0 0 0 0 0 0 1 0 1 0 0 0 2 0 2 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 2 0 2 1 0 2 0 0 0 2 0 2 1 0 1 2 0 2 2 0 2 2
- Version:
- 2.0
- Author:
- nicklas
- Last modified
- $Date: 2012-09-14 09:28:35 +0200 (fr, 14 sep 2012) $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Plugin.MainType
-
-
Field Summary
Fields Modifier and Type Field Description private RequestInformation
configureJob
private DbControl
dc
private static PluginParameter<String>
descriptionParameter
private Mapper
destColumnMapper
private Mapper
destPlateMapper
private Mapper
destRowMapper
private FlatFileParser
ffp
private static Set<GuiContext>
guiContexts
private static PluginParameter<String>
nameParameter
private static Set<Permissions>
permissions
private PlateMapping
pm
private static StringParameterType
requiredStringParameter
private Mapper
sourceColumnMapper
private Mapper
sourcePlateMapper
private Mapper
sourceRowMapper
-
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 PlateMappingImporter()
Create a new importer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
begin(FlatFileParser ffp)
Save reference to parser.protected void
beginData()
Create aDbControl
and a newPlateMapping
.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 the DbControl.private PlateGeometry
findGeometry(DbControl dc, int rows, int columns)
private RequestInformation
getConfigureJobParameters(GuiContext context)
Set<GuiContext>
getGuiContexts()
Return a set containing the context:s [PLATEMAPPING, LIST].protected FlatFileParser
getInitializedFlatFileParser()
Create and initialise a flat file parser by setting all regular expressions and other options.Collection<Permissions>
getPermissions()
Request create and write access to PlateMapping:s, create and use access to PlateGeometries and read access to File:s.RequestInformation
getRequestInformation(GuiContext context, String command)
This method will return theRequestInformation
for a given command, i.e.protected String
getSuccessMessage(int skippedLines)
ReturnPlatemapping 'name' created.
.protected void
handleData(FlatFileParser.Data data)
Add a mapping detail.String
isInContext(GuiContext context, Object item)
Always null.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, 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
-
requiredStringParameter
private static final StringParameterType requiredStringParameter
-
configureJob
private RequestInformation configureJob
-
nameParameter
private static final PluginParameter<String> nameParameter
-
descriptionParameter
private static final PluginParameter<String> descriptionParameter
-
dc
private DbControl dc
-
pm
private PlateMapping pm
-
sourcePlateMapper
private Mapper sourcePlateMapper
-
sourceRowMapper
private Mapper sourceRowMapper
-
sourceColumnMapper
private Mapper sourceColumnMapper
-
destPlateMapper
private Mapper destPlateMapper
-
destRowMapper
private Mapper destRowMapper
-
destColumnMapper
private Mapper destColumnMapper
-
ffp
private FlatFileParser ffp
-
-
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 and write access to PlateMapping:s, create and use access to PlateGeometries and read access to 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()
Return a set containing the context:s [PLATEMAPPING, LIST].- 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.- 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
-
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
-
getRequestInformation
public RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
Description copied from interface:InteractivePlugin
This method will return theRequestInformation
for a given command, i.e. the list of parameters and some nice help text.- 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
-
begin
protected void begin(FlatFileParser ffp) throws BaseException
Save reference to parser.- Overrides:
begin
in classAbstractFlatFileImporter
- Throws:
BaseException
- See Also:
AbstractFlatFileImporter.end(boolean)
-
beginData
protected void beginData()
- Overrides:
beginData
in classAbstractFlatFileImporter
-
handleData
protected void handleData(FlatFileParser.Data data) throws BaseException
Add a mapping detail.- Specified by:
handleData
in classAbstractFlatFileImporter
- Throws:
BaseException
-
end
protected void end(boolean success) throws BaseException
Close and commit/rollback the DbControl.- Overrides:
end
in classAbstractFlatFileImporter
- Parameters:
success
- TRUE if the file was parsed successfully, FALSE otherwise- Throws:
BaseException
- See Also:
AbstractFlatFileImporter.begin(FlatFileParser)
-
getSuccessMessage
protected String getSuccessMessage(int skippedLines)
ReturnPlatemapping 'name' created.
.- Overrides:
getSuccessMessage
in classAbstractFlatFileImporter
- Parameters:
skippedLines
- The number of data lines that were skipped due to errors
-
getInitializedFlatFileParser
protected FlatFileParser getInitializedFlatFileParser() throws BaseException
Description copied from class:AbstractFlatFileImporter
Create and initialise a flat file parser by setting all regular expressions and other options. This implementation gets all parameters from theAbstractPlugin.job
orAbstractPlugin.configuration
settings. If a subclass doesn't store the parameters there it must override this method and initialise the parser. Note that this method is called once for each file returned by theAbstractFlatFileImporter.getFileIterator()
and that a new parser is needed for each file.- Overrides:
getInitializedFlatFileParser
in classAbstractFlatFileImporter
- Returns:
- An intialised flat file parser
- Throws:
BaseException
-
getConfigureJobParameters
private RequestInformation getConfigureJobParameters(GuiContext context)
-
findGeometry
private PlateGeometry findGeometry(DbControl dc, int rows, int columns)
-
-