public class FileImporter extends AbstractItemImporter<File>
Modifier and Type | Class and Description |
---|---|
class |
FileImporter.PathIdMethod |
Plugin.MainType
Modifier and Type | Field and Description |
---|---|
protected static PluginParameter<String> |
characterSetColumnMapping |
private Mapper |
characterSetMapper |
private Mapper |
descriptionMapper |
protected static PluginParameter<String> |
fileServerColumnMapping |
private Mapper |
fileServerMapper |
private static Set<GuiContext> |
guiContexts |
protected static PluginParameter<String> |
mimeTypeColumnMapping |
private Mapper |
mimeTypeMapper |
protected static PluginParameter<String> |
pathColumnMapping |
private FileImporter.PathIdMethod |
pathIdMethod |
private Mapper |
pathMapper |
private Map<String,Directory> |
pathToDirectory |
private String |
rootPath |
protected static PluginParameter<String> |
urlColumnMapping |
private Mapper |
urlMapper |
defaultsSection, descriptionColumnMapping, externalIdColumnMapping, identificationSection, internalIdColumnMapping, nameColumnMapping, optionalColumnMapping, permissionTemplateColumnMapping, protocolColumnMapping, requiredColumnMapping, subtypeColumnMapping
complexMappings, dataFooterRegexpParameter, dataHeaderRegexpParameter, dataSplitterRegexpParameter, defaultErrorParameter, errorSection, fileParameter, fileType, headerRegexpParameter, ignoreRegexpParameter, invalidUseOfNullErrorParameter, mappingSection, maxDataColumnsParameter, minDataColumnsParameter, numberFormatErrorParameter, numberOutOfRangeErrorParameter, numDataColumnsType, optionalRegexpType, parserSection, requiredRegexpType, sectionRegexpParameter, stringTooLongErrorParameter, trimQuotesParameter
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
Constructor and Description |
---|
FileImporter() |
Modifier and Type | Method and Description |
---|---|
protected void |
addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
Adds column mappings for name, externalId and description.
|
protected void |
addMoreJobParameters(List<PluginParameter<?>> parameters)
Add extra job parameters that the subclass needs.
|
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 File |
createItem(DbControl dc,
FlatFileParser.Data data)
Create a new item and populate it with data from the current line.
|
protected ItemQuery<File> |
createItemQuery()
Calls
File.getQuery() . |
private Directory |
getDirectory(DbControl dc,
Path path) |
Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles.
|
protected IdMethod[] |
getIdMethods()
Useable methods are:
FileImporter.PathIdMethod
InternalIdMethod.INTERNAL_ID
|
protected Item |
getItemForSubtypes()
Does the importer want to use item subtypes when importing?
|
private String |
getRootPath(DbControl dc) |
private static String |
resolvePath(String path,
String rootPath) |
protected void |
updateItem(DbControl dc,
File file,
FlatFileParser.Data data)
Update an item with data from the current line.
|
addMoreErrorParameters, addMoreParsingParameters, begin, beginData, configure, doneWithItem, end, findArrayBatch, findArrayDesign, findArraySlide, findBioPlate, findBioPlateType, findBioSource, findBioSource, findBioWell, findDataFileType, findDerivedBioAssay, findExtract, findExtract, findFileServer, findHardware, findHardware, findHybridization, findItemSubtype, findItemSubtype, findLabeledExtract, findPermissionTemplate, findPhysicalBioAssay, findPlateGeometry, findPlatform, findProtocol, findProtocol, findRawDataType, findReferencedItem, findReferencedItemWithSubtype, findSample, findSample, findSoftware, findSoftware, findTag, findTag, findVariant, getConfigureOptionsParameters, getConfigureParserParameters, getDefaultItemFunction, getIdMethod, getInitializedFlatFileParser, getInitializedFlatFileParser, getProjectDefaultPlatform, getProjectDefaultRawDataType, getProjectDefaultVariant, getRequestInformation, getSuccessMessage, handleData, initReferenceQuery, isInContext, parseDate, requiresConfiguration, setOrAddFile, setUpErrorHandling, supportsConfigurations, updateItemSubtype, updateMultiLineItem, updatePermissions
addErrorHandler, checkColumnMapping, checkColumnMapping, continueWithNextFileAfterError, doImport, finish, getCharset, getCharset, getDecimalSeparator, getErrorHandler, getErrorOption, getFileIterator, getMainType, getMapper, getMapper, getNumberFormat, getNumBytes, getProgress, getSignalHandler, getTotalFileSize, handleHeader, handleSection, isImportable, isImportable, log, log, log, log, run, start, wrapInputStream
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, getMainType, getPermissions, init, run
private static final Set<GuiContext> guiContexts
protected static final PluginParameter<String> pathColumnMapping
protected static final PluginParameter<String> fileServerColumnMapping
protected static final PluginParameter<String> urlColumnMapping
protected static final PluginParameter<String> mimeTypeColumnMapping
protected static final PluginParameter<String> characterSetColumnMapping
private String rootPath
private FileImporter.PathIdMethod pathIdMethod
private Mapper pathMapper
private Mapper fileServerMapper
private Mapper urlMapper
private Mapper mimeTypeMapper
private Mapper characterSetMapper
private Mapper descriptionMapper
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.Set
containing Item
:s, or null
if the plugin is not concerned about itemsprotected IdMethod[] getIdMethods()
getIdMethods
in class AbstractItemImporter<File>
protected Item getItemForSubtypes()
AbstractItemImporter
getItemForSubtypes
in class AbstractItemImporter<File>
protected void addMoreJobParameters(List<PluginParameter<?>> parameters)
AbstractItemImporter
addMoreJobParameters
in class AbstractItemImporter<File>
parameters
- The list of parameters to add the column
mapping parameters toprotected void addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
addMoreColumnMappingParameters
in class AbstractItemImporter<File>
parameters
- The list of parameters to add the column
mapping parameters toprotected ItemQuery<File> createItemQuery()
File.getQuery()
.createItemQuery
in class AbstractItemImporter<File>
protected void createColumnMappers(FlatFileParser ffp, boolean cropStrings)
AbstractItemImporter
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<File>
ffp
- The parser that is parsing the data filecropStrings
- If strings that are too long to fit in the database
should be cropped or not (=generate an error)protected File createItem(DbControl dc, FlatFileParser.Data data)
AbstractItemImporter
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.
createItem
in class AbstractItemImporter<File>
dc
- The DbControl to use for database accessdata
- The current data lineprotected void updateItem(DbControl dc, File file, FlatFileParser.Data data)
AbstractItemImporter
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.
updateItem
in class AbstractItemImporter<File>
dc
- The DbControl to use for database accessfile
- The item to updatedata
- The current data line