|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.basedb.core.plugin.AbstractPlugin net.sf.basedb.core.plugin.AbstractExporterPlugin net.sf.basedb.plugins.GalExporter
public class GalExporter
Exports an array design with features to a GAL file. The exporter only works for array desigs that has stored the features in a database. For a description of the GAL format see http://www.moleculardevices.com/pages/software/gn_genepix_file_formats.html#gal
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin |
---|
Plugin.MainType |
Field Summary | |
---|---|
private static About |
about
|
private RequestInformation |
configureJob
|
private DbControl |
dc
|
private static Set<GuiContext> |
guiContexts
|
private long |
numExported
|
private static Set<Permissions> |
permissions
|
private ThreadSignalHandler |
signalHandler
|
private static Pattern |
unsafe
|
Fields inherited from class net.sf.basedb.core.plugin.AbstractExporterPlugin |
---|
optionalSaveAsType, OVERWRITE, overwriteType, requiredSaveAsType, SAVE_AS |
Fields inherited from class net.sf.basedb.core.plugin.AbstractPlugin |
---|
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc |
Constructor Summary | |
---|---|
GalExporter()
|
Method Summary | |
---|---|
protected void |
begin(DbControl dc)
Called just before the export starts. |
void |
configure(GuiContext context,
Request request,
Response response)
Configure the plugin. |
protected void |
createBlockHeaders(List<String> headers,
ArrayDesign design,
Integer featureDiameter,
List<ArrayDesignBlock> blocks)
Create header entries for each block in the array design. |
protected String |
createHeader(String name,
Object value)
Create a properly formatted GAL header. |
protected void |
createStandardHeaders(List<String> headers,
ArrayDesign design,
List<ArrayDesignBlock> blocks)
Create the standard headers that are required by the GAL format or that are useful to have in the GAL file. |
protected void |
end(boolean success)
Called just after everything has been committed to the database, or immediately after an error has ocurred. |
void |
exportGal(DbControl dc,
ArrayDesign design,
Integer featureDiameter,
PrintWriter writer,
ProgressReporter progress)
Exports an array design with features to a GAL file. |
void |
exportGal(DbControl dc,
ArrayDesign design,
PrintWriter writer,
ProgressReporter progress)
Deprecated. Use exportGal(DbControl, ArrayDesign, Integer, PrintWriter, ProgressReporter)
instead |
About |
getAbout()
Get information about the plugin, such as name, version, authors, etc. |
private RequestInformation |
getConfigureJobParameters(Boolean requireFile)
|
Set<GuiContext> |
getGuiContexts()
Get a set containing all items that the plugin handles. |
Collection<Permissions> |
getPermissions()
Request create and write access to File:s, Directory:s and ArrayDesign:s read access to User:s and forced read access to DataFileType:s. |
RequestInformation |
getRequestInformation(GuiContext context,
String command)
This method will return the RequestInformation for a given command, i.e. |
SignalHandler |
getSignalHandler()
Get the signal handler that is handling signals on behalf of this object. |
protected String |
getSuccessMessage()
Called if the export was successful to let the subclass generate a simple message that is sent back to the core and user interface. |
String |
isInContext(GuiContext context,
Object item)
Check if the plugin can be used on the specified object. |
protected String |
makeSafeHeaderValue(String value)
Removes "unsafe" characters in the value. |
protected void |
performExport(ExportOutputStream out,
ProgressReporter progress)
Perform the export. |
boolean |
requiresConfiguration()
Returns FALSE, since that is how the plugins used to work before this method was introduced. |
boolean |
supportsConfigurations()
Returns TRUE, since that is how the plugins used to work before this method was introduced. |
protected void |
writeDataHeader(PrintWriter writer)
Write the data header. |
protected void |
writeFeature(PrintWriter writer,
FeatureData feature,
ArrayDesignBlock block)
Write feature data. |
protected void |
writeHeaders(PrintWriter writer,
List<String> headers)
Write the headers of the GAL file, including the two first lines with the "ATF 1.0" line and the second line with the number of header lines and the number of data columns. |
protected void |
writeMissingFeature(PrintWriter writer,
FeatureCoordinate missing)
Write a missing features. |
Methods inherited from class net.sf.basedb.core.plugin.AbstractExporterPlugin |
---|
doExport, getMainType, getOverwrite, getOverwriteParameter, getSaveAsParameter, getSaveAsPath, getSaveTo, pathCanBeUsed, run |
Methods inherited from class net.sf.basedb.core.plugin.AbstractPlugin |
---|
checkInterrupted, 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 |
---|
private static final About about
private static final Set<GuiContext> guiContexts
private static final Set<Permissions> permissions
private ThreadSignalHandler signalHandler
private RequestInformation configureJob
private DbControl dc
private long numExported
private static final Pattern unsafe
Constructor Detail |
---|
public GalExporter()
Method Detail |
---|
public About getAbout()
Plugin
getAbout
in interface Plugin
About
objectpublic boolean supportsConfigurations()
AbstractPlugin
supportsConfigurations
in interface Plugin
supportsConfigurations
in class AbstractPlugin
public boolean requiresConfiguration()
AbstractPlugin
requiresConfiguration
in interface Plugin
requiresConfiguration
in class AbstractPlugin
public Collection<Permissions> getPermissions()
getPermissions
in interface Plugin
getPermissions
in class AbstractPlugin
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.
getGuiContexts
in interface InteractivePlugin
Set
containing Item
:s, or null
if the plugin is not concerned about itemspublic String isInContext(GuiContext context, Object item)
InteractivePlugin
BasicItem
or BasicData
object, or null if called from
a list context. A client application should only call this method for
contexts matching one of
the contexts in the set returned by the InteractivePlugin.getGuiContexts()
method. For GuiContext.Type.ITEM
contexts an item
of the correct type should be passed as a parameter.
The plug-in can response with a null value indicating success, a warning-level message or throw an exception to indicate an error-level message. Client application should normally only show error-level messages to users, unless the user has requested to see warning messages.
NOTE! Before BASE 2.4 all messages were treated as error-level messages.
isInContext
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
item
- The currently active item, it's type should match the
GuiContext.getItem()
type, or null if the context is a list
context
Null
if the plugin can use that item, or
a warning-level message explaining why the plugin can't be usedpublic RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
InteractivePlugin
RequestInformation
for a given command, i.e.
the list of parameters and some nice help text.
getRequestInformation
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
command
- The command
RequestInformation
for the command
BaseException
- if there is an errorpublic void configure(GuiContext context, Request request, Response response)
InteractivePlugin
InteractivePlugin.getRequestInformation(GuiContext, String)
.
configure
in interface InteractivePlugin
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
throughpublic SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
protected void begin(DbControl dc)
AbstractExporterPlugin
begin
in class AbstractExporterPlugin
dc
- The DbControl that is used to write to the database.
A subclass may use this read from the database as wellAbstractExporterPlugin.end(boolean)
protected void performExport(ExportOutputStream out, ProgressReporter progress) throws IOException
AbstractExporterPlugin
ImmediateDownloadExporter.doExport(ExportOutputStream, ProgressReporter)
method.
performExport
in class AbstractExporterPlugin
out
- Output stream to write the exported data toprogress
- An optional progress reporter
IOException
protected void end(boolean success)
AbstractExporterPlugin
AbstractExporterPlugin.begin(DbControl)
method here.
end
in class AbstractExporterPlugin
success
- TRUE if the file was parsed successfully, FALSE otherwiseAbstractExporterPlugin.begin(DbControl)
protected String getSuccessMessage()
AbstractExporterPlugin
178 reporters exported successfully
.
The default implementation always return null.
getSuccessMessage
in class AbstractExporterPlugin
public void exportGal(DbControl dc, ArrayDesign design, PrintWriter writer, ProgressReporter progress) throws IOException
exportGal(DbControl, ArrayDesign, Integer, PrintWriter, ProgressReporter)
instead
IOException
public void exportGal(DbControl dc, ArrayDesign design, Integer featureDiameter, PrintWriter writer, ProgressReporter progress) throws IOException
dc
- The DbControl to use for database accessdesign
- The array design to exportfeatureDiameter
- The expected feature diameter (in µm) of spots,
or null to use the values from the databasewriter
- The stream to write toprogress
- An optional progress reporter
IOException
protected void createStandardHeaders(List<String> headers, ArrayDesign design, List<ArrayDesignBlock> blocks)
headers
- Add the created headers to this list; use
createHeader(String, Object)
to create a properly formatted headerdesign
- The current array designblocks
- A list with all blocks in the array designprotected void createBlockHeaders(List<String> headers, ArrayDesign design, Integer featureDiameter, List<ArrayDesignBlock> blocks)
headers
- Add the created headers to this list; use
createHeader(String, Object)
to create a properly formatted headerdesign
- The current array designfeatureDiameter
- The expected feature diameter (µm), or null to
use ArrayDesignBlock.getFeatureDiameter()
blocks
- A list with all blocks in the array designprotected String createHeader(String name, Object value)
makeSafeHeaderValue(String)
for the value.
name
- The name of the headervalue
- The value of the header
protected String makeSafeHeaderValue(String value)
value
- The value to check
protected void writeHeaders(PrintWriter writer, List<String> headers)
writer
- The writer to print toheaders
- The list with all headersprotected void writeDataHeader(PrintWriter writer)
writeFeature(PrintWriter, FeatureData, ArrayDesignBlock)
and writeMissingFeature(PrintWriter, FeatureCoordinate)
.
writer
- The writer to print toprotected void writeFeature(PrintWriter writer, FeatureData feature, ArrayDesignBlock block)
writeDataHeader(PrintWriter)
. Features
that doesn't have a reporter should get ID and Name = empty.
writer
- The writer to print tofeature
- The featureblock
- The block on which the feature is locatedprotected void writeMissingFeature(PrintWriter writer, FeatureCoordinate missing)
writeDataHeader(PrintWriter)
. The ID and Name
should be empty.
writer
- The writer to print tomissing
- The featureprivate RequestInformation getConfigureJobParameters(Boolean requireFile)
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |