public class AnnotationTypeImporter extends AbstractItemImporter<AnnotationType>
Plugin.MainType
Modifier and Type | Field and Description |
---|---|
private static PluginParameter<String> |
categoryColumnMapping
Column mapping parameter for assigning annotation types to categories.
|
private Mapper |
categoryMapper |
private static PluginParameter<String> |
defaultUnitColumnMapping
Column mapping parameter for "Default unit".
|
private Mapper |
defaultUnitMapper |
private static PluginParameter<String> |
defaultValueColumnMapping
Column mapping parameter for "Default value".
|
private Mapper |
defaultValueMapper |
private Mapper |
descriptionMapper |
private static PluginParameter<String> |
disableChangeLogColumnMapping
Column mapping parameter for "Disabled history log" flag.
|
private Mapper |
disableChangeLogMapper |
private static PluginParameter<String> |
disableInheritanceColumnMapping
Column mapping parameter for "Disable inheritance" flag.
|
private Mapper |
disableInheritanceMapper |
private static PluginParameter<String> |
enumerationColumnMapping
Column mapping parameter for "Enumeration".
|
private Mapper |
enumerationMapper |
private Pattern |
enumerationSplitter |
private static PluginParameter<String> |
enumerationSplitterRegexpParameter
Regular expression splitter parameter for enumerations.
|
private Mapper |
externalIdMapper |
private static Set<GuiContext> |
guiContexts |
private static PluginParameter<String> |
itemTypesColumnMapping
Column mapping parameter for "Item types".
|
private Mapper |
itemTypesMapper |
private static PluginParameter<String> |
maxValueColumnMapping
Column mapping parameter for "Max value".
|
private Mapper |
maxValueMapper |
private static PluginParameter<String> |
miameColumnMapping
Column mapping parameter for "Required for MIAME" flag.
|
private Mapper |
miameMapper |
private static PluginParameter<String> |
minValueColumnMapping
Column mapping parameter for "Min value".
|
private Mapper |
minValueMapper |
private static PluginParameter<String> |
multiplicityColumnMapping
Column mapping parameter for annotation multiplicty.
|
private Mapper |
multiplicityMapper |
private Mapper |
nameMapper |
private NumberFormat |
numberFormat |
private static PluginParameter<String> |
protocolParameterColumnMapping
Column mapping parameter for "Protocol parameter" flag.
|
private Mapper |
protocolParameterMapper |
private static PluginParameter<String> |
usableUnitColumnMapping
Column mapping parameter for "Usable unit".
|
private Mapper |
usableUnitMapper |
private static PluginParameter<String> |
valueTypeColumnMapping
Column mapping parameter for the annotation value type
|
private Mapper |
valueTypeMapper |
defaultsSection, descriptionColumnMapping, externalIdColumnMapping, identificationSection, internalIdColumnMapping, kitColumnMapping, 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 |
---|
AnnotationTypeImporter() |
Modifier and Type | Method and Description |
---|---|
protected void |
addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
Adds column mappings for name and description.
|
protected void |
addMoreParsingParameters(List<PluginParameter<?>> parameters)
Add extra parameters to the "Parser settings" section that the subclass
needs.
|
void |
configure(GuiContext context,
Request request,
Response response)
Override this method so that we can make some extra parameter checks:
A mapping for 'Value type' must be specified when 'create' or 'create+update' mode is used
|
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 AnnotationType |
createItem(DbControl dc,
FlatFileParser.Data data)
Create a new item and populate it with data from the current line.
|
protected ItemQuery<AnnotationType> |
createItemQuery()
|
Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles.
|
protected IdMethod[] |
getIdMethods()
|
protected void |
updateItem(DbControl dc,
AnnotationType at,
FlatFileParser.Data data)
Update an item with data from the current line.
|
protected void |
updateMultiLineItem(DbControl dc,
AnnotationType at,
FlatFileParser.Data data,
int multiLineNum)
Update an item with data from a multi-line entry.
|
addMoreErrorParameters, addMoreJobParameters, begin, beginData, doneWithItem, end, findAnnotationTypeCategory, findArrayBatch, findArrayDesign, findArraySlide, findBioPlate, findBioPlateType, findBioSource, findBioSource, findBioWell, findDataFileType, findDerivedBioAssay, findExtract, findExtract, findFileServer, findHardware, findHardware, findHybridization, findItemSubtype, findItemSubtype, findKit, findLabeledExtract, findPermissionTemplate, findPhysicalBioAssay, findPlateGeometry, findPlatform, findProtocol, findProtocol, findRawDataType, findReferencedItem, findReferencedItemWithSubtype, findSample, findSample, findSoftware, findSoftware, findTag, findTag, findUnit, findVariant, getConfigureOptionsParameters, getConfigureParserParameters, getDefaultItemFunction, getIdMethod, getInitializedFlatFileParser, getInitializedFlatFileParser, getItemForSubtypes, getProjectDefaultPlatform, getProjectDefaultRawDataType, getProjectDefaultVariant, getRequestInformation, getSuccessMessage, handleData, initReferenceQuery, isInContext, parseDate, requiresConfiguration, setOrAddFile, setUpErrorHandling, supportsConfigurations, updateItemSubtype, updatePermissions
addErrorHandler, checkColumnMapping, checkColumnMapping, continueWithNextFileAfterError, doImport, finish, getCharset, getCharset, getDecimalSeparator, getErrorHandler, getErrorOption, getFileIterator, getMainType, getMapper, getMapper, getNumberFormat, getNumBytes, getPattern, 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
private static final PluginParameter<String> valueTypeColumnMapping
private static final PluginParameter<String> categoryColumnMapping
private static final PluginParameter<String> multiplicityColumnMapping
private static final PluginParameter<String> defaultValueColumnMapping
private static final PluginParameter<String> miameColumnMapping
private static final PluginParameter<String> protocolParameterColumnMapping
private static final PluginParameter<String> disableChangeLogColumnMapping
private static final PluginParameter<String> disableInheritanceColumnMapping
private static final PluginParameter<String> itemTypesColumnMapping
private static final PluginParameter<String> defaultUnitColumnMapping
private static final PluginParameter<String> usableUnitColumnMapping
private static final PluginParameter<String> enumerationColumnMapping
private static final PluginParameter<String> enumerationSplitterRegexpParameter
private static final PluginParameter<String> minValueColumnMapping
private static final PluginParameter<String> maxValueColumnMapping
private Mapper nameMapper
private Mapper externalIdMapper
private Mapper descriptionMapper
private Mapper valueTypeMapper
private Mapper categoryMapper
private Mapper multiplicityMapper
private Mapper defaultValueMapper
private Mapper miameMapper
private Mapper protocolParameterMapper
private Mapper disableChangeLogMapper
private Mapper disableInheritanceMapper
private Mapper itemTypesMapper
private Mapper defaultUnitMapper
private Mapper usableUnitMapper
private Mapper enumerationMapper
private Mapper minValueMapper
private Mapper maxValueMapper
private NumberFormat numberFormat
private Pattern enumerationSplitter
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 itemspublic void configure(GuiContext context, Request request, Response response)
configure
in interface InteractivePlugin
configure
in class AbstractItemImporter<AnnotationType>
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
throughprotected IdMethod[] getIdMethods()
getIdMethods
in class AbstractItemImporter<AnnotationType>
protected void addMoreParsingParameters(List<PluginParameter<?>> parameters)
AbstractItemImporter
addMoreParsingParameters
in class AbstractItemImporter<AnnotationType>
parameters
- The list of parameters to add the column
mapping parameters toprotected void addMoreColumnMappingParameters(List<PluginParameter<?>> parameters)
addMoreColumnMappingParameters
in class AbstractItemImporter<AnnotationType>
parameters
- The list of parameters to add the column
mapping parameters toprotected ItemQuery<AnnotationType> createItemQuery()
createItemQuery
in class AbstractItemImporter<AnnotationType>
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<AnnotationType>
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 AnnotationType 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<AnnotationType>
dc
- The DbControl to use for database accessdata
- The current data lineprotected void updateItem(DbControl dc, AnnotationType at, 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<AnnotationType>
dc
- The DbControl to use for database accessat
- The item to updatedata
- The current data lineprotected void updateMultiLineItem(DbControl dc, AnnotationType at, FlatFileParser.Data data, int multiLineNum)
AbstractItemImporter
updateMultiLineItem
in class AbstractItemImporter<AnnotationType>
dc
- The DbControl to use for database accessat
- The item to updatedata
- The current data linemultiLineNum
- The number of the multi-line entry, starting with 1
for the first multi-line