if i remove
labeledExtract.countLabeledExtracts();
it all works fine.. i guess there wouldn't be any other labeled extracts
since i'm making new
extracts each time anyway..
Keith Ching wrote:
thanks for the help and clarification.. i will debug anew and compare
to the test code.
-keith
Nicklas Nordborg wrote:
Keith Ching wrote:
Hi,
I am trying to write a plugin to automatically make objects from sample
-> rawbioassay.
however, after you call dc.commit() it closes the connection. what is
the normal way to
re-establish a connection? dc.reconnect() does not seem to work.
getting a new dc via
dc = sc.newDbControl(); does not seem to work either.
A DbControl can only be used once. If you call commit() or close() that
connection can't be used anymore.
SessionControl.newDbControl() should give you a new connection. You
don't say why it doesn't work, so it is hard for me to give more help.
The stack trace you sent in the second mail gives an error in
AutoBuild.addLabeledExtract but you don't show that code. The
org.hibernate.TransientObjectException is usually an indication that
objects are saved in the wrong order. Ie. before creating the labeled
extract you must save the extract is is referencing. With this I don't
mean that you have to commit() the extract to the database just that you
should call DbControl.saveItem().
DbControl.reconnect() is used together with the DbControl.disconnect()
method. It should be used if you have an operation that takes a long
time and you don't want to hold a database connection during that time.
The only place we use these methods are in the file upload, calling
disconnect() before the upload starts, then reconnect() at the the end
to finish the upload and commit().
We have some test code that creates everything from biosource to
rawbioassays with just two DbControl:s. Check
http://base.thep.lu.se/browser/trunk/src/test/net/sf/basedb/test/roles/UserTest.java
/Nicklas
i need to commit the created objects between steps because subsequent
objects do database
lookups of previous objects to create themselves.
here is my general outline.
ArraySlide slide;
for (Sample sourceObj : sources)
{
dc.reattachItem(sourceObj);
/**
* 1. get the slide
*/
slideName = sourceObj.getName().split(" ")[0];
slide = getSlideByName(dc, slideName);
/**
* 2. make chromatin input sample from pooled sample
*/
Sample chromatinSample = getChromatinSample(dc, sourceObj);
Extract chromatinExtract = addExtract(dc, chromatinSample);
/**
* 3. make the extract from the pooled sample
*/
Extract pooledExtract = addExtract(dc, sourceObj);
dc.commit();
dc = sc.newDbControl();
/**
* 4. make the labelled extracts from extracts
*/
LabeledExtract chromatinLabeledExtract =
addLabeledExtract(dc, inputLabel, chromatinExtract);
LabeledExtract pooledLabeledExtract =
addLabeledExtract(dc, poolLabel, pooledExtract);
dc.commit();
dc = sc.newDbControl();
/**
* 5. make the hybridization from the matched pairs, add
the slide
*/
Hybridization hyb = addHybridization(dc,
chromatinLabeledExtract, pooledLabeledExtract, slide);
dc.commit();
dc = sc.newDbControl();
/**
* 6. make the scan
*/
Scan scan = addScan(dc, hyb);
dc.commit();
dc = sc.newDbControl();
/**
* 7. make the rawbioassay
*/
String datatype = "GenePix";
RawBioAssay myRawBioAssay = addRawBioAssay(dc, scan,
RawDataTypes.getRawDataType(datatype) );
dc.commit();
dc = sc.newDbControl();
// group into experiment ?
fileNames = fileNames + " " +
myRawBioAssay.getName();
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]
--
Keith Ching, Ph.D.
Bioinformatics, Laboratory of Gene Regulation
Ludwig Institute for Cancer Research
9500 Gilman Drive, #0653
CMM East, Room 3020
La Jolla, CA 92093-0653
[EMAIL PROTECTED]
858-822-5767
------------------------------------------------------------------------
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
------------------------------------------------------------------------
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]
--
Keith Ching, Ph.D.
Bioinformatics, Laboratory of Gene Regulation
Ludwig Institute for Cancer Research
9500 Gilman Drive, #0653
CMM East, Room 3020
La Jolla, CA 92093-0653
[EMAIL PROTECTED]
858-822-5767
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
[EMAIL PROTECTED]