2.17.2: 2011-06-17

Class ArraySlideImporter

  extended by net.sf.basedb.core.plugin.AbstractPlugin
      extended by net.sf.basedb.plugins.AbstractFlatFileImporter
          extended by net.sf.basedb.plugins.batchimport.AbstractItemImporter<ArraySlide>
              extended by net.sf.basedb.plugins.batchimport.ArraySlideImporter
All Implemented Interfaces:
AutoDetectingImporter, InteractivePlugin, Plugin, SignalTarget, ConfigureByExample

public class ArraySlideImporter
extends AbstractItemImporter<ArraySlide>

Plug-in for importing array slide items in a batch. The plug-in can create new items and updated existing items.

Last modified
$Date: 2010-06-24 10:46:52 +0200 (Thu, 24 Jun 2010) $

Nested Class Summary
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Field Summary
private static About about
protected static PluginParameter<String> arrayBatchColumnMapping
private  Mapper arrayBatchMapper
protected static PluginParameter<String> barcodeColumnMapping
private  Mapper barcodeMapper
private  Mapper descriptionMapper
protected static PluginParameter<String> destroyedColumnMapping
private  Mapper destroyedMapper
private static Set<GuiContext> guiContexts
protected static PluginParameter<String> indexColumnMapping
private  Mapper indexMapper
private  Mapper nameMapper
Fields inherited from class net.sf.basedb.plugins.batchimport.AbstractItemImporter
defaultsSection, descriptionColumnMapping, externalIdColumnMapping, identificationSection, internalIdColumnMapping, nameColumnMapping, optionalColumnMapping, permissionTemplateColumnMapping, protocolColumnMapping, requiredColumnMapping
Fields inherited from class net.sf.basedb.plugins.AbstractFlatFileImporter
CHARSET, charsetType, complexMappings, dataFooterRegexpParameter, dataHeaderRegexpParameter, dataSplitterRegexpParameter, DECIMAL_SEPARATOR, decimalSeparatorType, defaultErrorParameter, errorSection, 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
Method Summary
protected  void addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
          Adds column mappings for name, description, array batch, batch index, barcode and destroyed
protected  void createColumnMappers(FlatFileParser ffp, boolean cropStrings)
          Create mappers that can be used to extract data values from the file that is currently being parsed by the ffp FlatFileParser.
protected  ArraySlide createItem(DbControl dc, FlatFileParser.Data data)
          Create a new item and populate it with data from the current line.
protected  ItemQuery<ArraySlide> createItemQuery()
          Calls ArraySlide.getQuery().
 About getAbout()
          Get information about the plugin, such as name, version, authors, etc.
 Set<GuiContext> getGuiContexts()
          Get a set containing all items that the plugin handles.
protected  IdMethod[] getIdMethods()
          Useable methods are: PropertyIdMethod.NAME PropertyIdMethod.BARCODE InternalIdMethod.INTERNAL_ID FallbackIdMethod.NAME_OR_ID
protected  void updateItem(DbControl dc, ArraySlide slide, FlatFileParser.Data data)
          Update an item with data from the current line.
Methods inherited from class net.sf.basedb.plugins.batchimport.AbstractItemImporter
addMoreErrorParameters, addMoreJobParameters, addMoreParsingParameters, begin, beginData, configure, doneWithItem, end, findArrayBatch, findArrayDesign, findArraySlide, findBioPlate, findBioPlateType, findBioSource, findBioWell, findDataFileType, findExtract, findFeatureExtractionSoftware, findFreezer, findHybridization, findHybridizationStation, findImage, findLabel, findLabeledExtract, findPermissionTemplate, findPlateGeometry, findPlatform, findPrintRobot, findProtocol, findProtocol, findRawDataType, findReferencedItem, findSample, findScan, findScanner, findVariant, getConfigureOptionsParameters, getConfigureParserParameters, getIdMethod, getInitializedFlatFileParser, getInitializedFlatFileParser, getProjectDefaultPlatform, getProjectDefaultRawDataType, getProjectDefaultVariant, getRequestInformation, getSuccessMessage, handleData, initReferenceQuery, isInContext, parseDate, requiresConfiguration, setUpErrorHandling, supportsConfigurations, updateMultiLineItem, updatePermissions
Methods inherited from class net.sf.basedb.plugins.AbstractFlatFileImporter
addErrorHandler, checkColumnMapping, checkColumnMapping, continueWithNextFileAfterError, doImport, finish, getCharset, getCharset, getCharsetParameter, getDecimalSeparator, getDecimalSeparatorParameter, getErrorHandler, getErrorOption, getFileIterator, getMainType, getMapper, getNumberFormat, getNumBytes, getPrimaryLocationFilter, getProgress, getSignalHandler, getTotalFileSize, handleHeader, handleSection, isImportable, isImportable, log, log, log, log, run, start, wrapInputStream
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, getMainType, getPermissions, init, run

Field Detail


private static final Set<GuiContext> guiContexts


private static final About about


protected static final PluginParameter<String> arrayBatchColumnMapping


protected static final PluginParameter<String> barcodeColumnMapping


protected static final PluginParameter<String> destroyedColumnMapping


protected static final PluginParameter<String> indexColumnMapping


private Mapper nameMapper


private Mapper descriptionMapper


private Mapper arrayBatchMapper


private Mapper indexMapper


private Mapper barcodeMapper


private Mapper destroyedMapper
Constructor Detail


public ArraySlideImporter()
Method Detail


public About getAbout()
Description copied from interface: Plugin
Get information about the plugin, such as name, version, authors, etc.

An About object


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 containing Item.REPORTER. This information is used by client applications to put the plugin in the proper place in the user interface.

A Set containing Item:s, or null if the plugin is not concerned about items


protected IdMethod[] getIdMethods()
Useable methods are:

getIdMethods in class AbstractItemImporter<ArraySlide>


protected void addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
Adds column mappings for name, description, array batch, batch index, barcode and destroyed

addMoreColumnMappingParameters in class AbstractItemImporter<ArraySlide>
parameters - The list of parameters to add the column mapping parameters to


protected ItemQuery<ArraySlide> createItemQuery()
Calls ArraySlide.getQuery().

Specified by:
createItemQuery in class AbstractItemImporter<ArraySlide>
A query


protected void createColumnMappers(FlatFileParser ffp,
                                   boolean cropStrings)
Description copied from class: AbstractItemImporter
Create mappers that can be used to extract data values from the file that is currently being parsed by the ffp FlatFileParser. This method is called during initialisation of the plug-in when the FlatFileParser.parseHeaders() has successfully found the start of data. Use the AbstractFlatFileImporter.getMapper(FlatFileParser, String, Integer, Mapper) to create column mappers. Example:
nameMapper = getMapper(ffp, job.getValue("nameColumnMapping"), 
   cropStrings ? Nameable.MAX_NAME_LENGTH : null, null);

createColumnMappers in class AbstractItemImporter<ArraySlide>
ffp - The parser that is parsing the data file
cropStrings - If strings that are too long to fit in the database should be cropped or not (=generate an error)


protected ArraySlide createItem(DbControl dc,
                                FlatFileParser.Data data)
Description copied from class: AbstractItemImporter
Create a new item and populate it with data from the current line. Do not call DbControl.saveItem(BasicItem). This is done automatically by the core implementation.
BioSource bs = BioSource.getNew(dc);
// Set properties; see example on updateItem method
return bs;

If the current data line doesn't have data for all required properties, this method should throw an InvalidUseOfNullException exception.

This method is called during import when current item can be found and if the user has selected to create missing item.

Specified by:
createItem in class AbstractItemImporter<ArraySlide>
dc - The DbControl to use for database access
data - The current data line
A new item


protected void updateItem(DbControl dc,
                          ArraySlide slide,
                          FlatFileParser.Data data)
Description copied from class: AbstractItemImporter
Update an item with data from the current line. Example:
if (nameMapper != null) item.setName(nameMapper.getValue(data));
if (descriptionMapper != null) item.setDescription(descriptionMapper.getValue(data));
This method is called during import to update an existing item.

Specified by:
updateItem in class AbstractItemImporter<ArraySlide>
dc - The DbControl to use for database access
slide - The item to update
data - The current data line

2.17.2: 2011-06-17