|
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.AbstractBatcher net.sf.basedb.core.MappingBatcher
public class MappingBatcher
Batcher class for inserting parent mapping information in the
dynamic database. This batcher is used to map data cube spots to
their parent RawData
.
Code example: Dynamic API - Creating a root bioassayset
BioAssaySet.getMappingBatcher()
Field Summary | |
---|---|
private long |
bytes
The number of bytes this batcher has added to the experiment. |
private long |
bytesPerRow
The number of bytes used by a single row. |
private DataCube |
dataCube
The datacube this batcher inserts data for. |
private boolean |
noRawMapping
If the data cube has already received it's data and no raw data can be linked. |
private int |
queuedInsertCount
The number of queued inserts. |
private PreparedStatement |
rawMappingSql
The statement that inserts the spot/raw data link. |
private String |
rawMappingSqlStatement
The SQL string for the rawMappingSql statement. |
private int |
totalInsertCount
The total number of inserts done by this batcher. |
Fields inherited from class net.sf.basedb.core.AbstractBatcher |
---|
debugSqlEnabled, logSql |
Constructor Summary | |
---|---|
MappingBatcher(DbControl dc,
DataCube dataCube)
Create a new position batcher for a data cube. |
Method Summary | |
---|---|
private String |
buildInsertSelectSql(String selectSql)
Build the INSERT INTO ... |
private void |
buildRawMappingSql()
Builds the insert SQL statement. |
void |
flush()
Flush the batcher and send all remaining items in memory to the database. |
int |
getTotalInsertCount()
Get the total number of mappings to raw data create by this mapper. |
int |
insert(AbstractSqlQuery query)
Insert mapping to raw spots using a query. |
void |
insert(short column,
int position,
RawData rawData)
Link a spot to a raw data. |
(package private) void |
onBeforeClose()
Update bytes on data cube and close open SQL statements. |
Methods inherited from class net.sf.basedb.core.AbstractBatcher |
---|
analyzeTable, close, getBatchSize, getDbControl, getSessionControl, isClosed, setBatchSize, setDbControl, updateLastAccess |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final DataCube dataCube
private final boolean noRawMapping
private int queuedInsertCount
private int totalInsertCount
private long bytes
private final long bytesPerRow
private PreparedStatement rawMappingSql
INSERT INTO Dynamic#RawParents (cube, column, position, rawdata_id) VALUES (cube, ?, ?, ?)
private String rawMappingSqlStatement
rawMappingSql
statement.
Constructor Detail |
---|
MappingBatcher(DbControl dc, DataCube dataCube)
Method Detail |
---|
public void flush() throws BaseException
Batcher
BaseException
- If there is an errorBatcher.close()
void onBeforeClose() throws BaseException
onBeforeClose
in class AbstractBatcher
BaseException
public void insert(short column, int position, RawData rawData) throws BaseException
column
- The column coordinate of the spotposition
- The position coordinate of the spotrawData
- The raw data object
InvalidDataException
- If the raw data is null
BaseException
- If there is an errorpublic int insert(AbstractSqlQuery query) throws BaseException
Internally this method converts the query into a
INSERT INTO ... SELECT ...
query, making it very fast,
since the data for each position doesn't have to be retreived, processed and
then inserted one row at a time. It is possible to call
this method multiple times with the same or different query.
query
- The query that selects the data to be inserted
BaseException
- If there is an errorpublic int getTotalInsertCount()
private void buildRawMappingSql() throws SQLException, BaseException
SQLException
BaseException
BatchUtil.buildInsertSql(VirtualDb, VirtualTable, VirtualColumn[], Object[])
private String buildInsertSelectSql(String selectSql) throws BaseException
selectSql
- The SELECT part of the query
BaseException
BatchUtil.buildInsertSelectSql(VirtualDb, VirtualTable, VirtualColumn[], String)
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |