Changeset 5026
- Timestamp:
- Jul 28, 2009, 11:06:46 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/net/sf/basedb/core/RawBioAssay.java
r4889 r5026 1309 1309 if (progress != null) progress.display(10, "Loading raw data from raw bioassay..."); 1310 1310 DataQuery<RawData> rawQuery = getRawData(); 1311 // NOTE!! Due to an issue in Hibernate we must join all three1312 // tables or we will get an AssertionFailure: possible non-threadsafe access to the session1313 // The query also works if don't join at all, but that will generate a lot1314 // of extra queries for each iteration1315 1311 rawQuery.join(Hql.leftJoin(null, "reporter", "rep", null, true)); 1316 1312 rawQuery.join(Hql.leftJoin(null, "feature", "feat", null, true)); 1317 rawQuery.join(Hql.leftJoin("feat", "arrayDesignBlock", "bl", null, true));1318 1313 1319 1314 DataResultIterator<RawData> result = rawQuery.iterate(dc); … … 1327 1322 // Get the feature identifier for the current raw data 1328 1323 FeatureData oldFeature = raw.getFeature(); 1329 String externalFeatureId = oldFeature == null ? null : oldFeature.getExternalId(); ;1324 String externalFeatureId = oldFeature == null ? null : oldFeature.getExternalId(); 1330 1325 Object rawFeatureId = fiMethod.getIdentifier(raw, externalFeatureId); 1331 1326 -
trunk/src/core/net/sf/basedb/core/data/ArrayDesignBlockData.java
r4889 r5026 34 34 @see <a href="../../../../../../html/developerdoc/api/data_api.arrays.html">Array LIMS - arrays overview</a> 35 35 @base.modified $Date$ 36 @hibernate.class table="`ArrayDesignBlocks`" lazy=" false"36 @hibernate.class table="`ArrayDesignBlocks`" lazy="true" 37 37 */ 38 38 public class ArrayDesignBlockData -
trunk/src/core/net/sf/basedb/core/data/FeatureData.java
r4889 r5026 31 31 @see <a href="../../../../../../html/developerdoc/api/data_api.arrays.html">Array LIMS - arrays overview</a> 32 32 @base.modified $Date$ 33 @hibernate.class table="`Features`" lazy=" false"33 @hibernate.class table="`Features`" lazy="true" 34 34 */ 35 35 public class FeatureData -
trunk/src/core/net/sf/basedb/core/data/ReporterData.java
r4889 r5026 47 47 @see net.sf.basedb.core.ExtendedProperties 48 48 @see <a href="../../../../../../html/developerdoc/api/data_api.reporters.html">Reporter overview</a> 49 @hibernate.class table="`Reporters`" lazy=" false"49 @hibernate.class table="`Reporters`" lazy="true" 50 50 */ 51 51 public class ReporterData -
trunk/src/core/net/sf/basedb/core/templates/hibernate-properties-RawData.xml
r4889 r5026 37 37 dynamic-update="false" 38 38 dynamic-insert="false" 39 lazy=" false"39 lazy="true" 40 40 > 41 41 <id -
trunk/src/core/net/sf/basedb/util/IntensityCalculatorUtil.java
r4915 r5026 25 25 import net.sf.basedb.core.DataQuery; 26 26 import net.sf.basedb.core.DbControl; 27 import net.sf.basedb.core.Item;28 27 import net.sf.basedb.core.RawDataType; 29 28 import net.sf.basedb.core.ArrayDesign; … … 48 47 import net.sf.basedb.core.data.RawData; 49 48 import net.sf.basedb.core.data.ReporterData; 50 import net.sf.basedb.core.query.Hql;51 49 import net.sf.basedb.core.query.Selects; 52 50 import net.sf.basedb.core.query.Select; … … 348 346 // Load raw data for current raw bioassay 349 347 DataQuery<RawData> rawQuery = rba.getRawData(); 350 rawQuery.join(Hql.leftJoin(null, "reporter", Item.REPORTER.getAlias(), null, true));351 if (rba.getArrayDesign() != null)352 {353 rawQuery.join(Hql.leftJoin(null, "feature", Item.FEATURE.getAlias(), null, true));354 // The joins below are needed to avoid extra SELECT statements for each spot355 // that is loaded356 rawQuery.join(Hql.leftJoin(Item.FEATURE.getAlias(), "reporter", "ftrep", null, true));357 rawQuery.join(Hql.leftJoin(Item.FEATURE.getAlias(), "arrayDesignBlock", "ftrbl", null, true));358 }359 360 348 DataResultIterator<RawData> rawData = rawQuery.iterate(dc); 361 349 ThreadSignalHandler.checkInterrupted(); -
trunk/src/test/TestArrayDesign.java
r4889 r5026 26 26 import net.sf.basedb.core.BaseException; 27 27 import net.sf.basedb.core.BlockInfo; 28 import net.sf.basedb.core.DataQuery; 28 29 import net.sf.basedb.core.DbControl; 29 30 import net.sf.basedb.core.Feature; … … 47 48 import net.sf.basedb.core.data.FeatureData; 48 49 import net.sf.basedb.core.data.ReporterData; 50 import net.sf.basedb.core.query.Hql; 49 51 import net.sf.basedb.util.FileUtil; 50 52 import net.sf.basedb.util.parser.FlatFileParser; … … 512 514 ArrayDesign ad = ArrayDesign.getById(dc, arrayDesignId); 513 515 514 DataResultIterator<FeatureData> it = ad.getFeatures().iterate(dc); 516 DataQuery<FeatureData> query = ad.getFeatures(); 517 query.join(Hql.innerJoin(null, "arrayDesignBlock", "blk", null, true)); 518 query.join(Hql.leftJoin(null, "reporter", "rpt", null, true)); 519 DataResultIterator<FeatureData> it = query.iterate(dc); 515 520 int counter = 0; 516 521 while (it.hasNext()) -
trunk/src/test/TestRawBioAssay.java
r4889 r5026 24 24 import net.sf.basedb.core.*; 25 25 import net.sf.basedb.core.data.RawData; 26 import net.sf.basedb.core.query.Hql; 27 import net.sf.basedb.util.ConsoleProgressReporter; 26 28 import net.sf.basedb.util.FileUtil; 27 29 import net.sf.basedb.util.Values; … … 54 56 int scanId = TestScan.test_create(hybridizationId, 0, 0, false); 55 57 int arrayDesignId = TestArrayDesign.test_create(Platform.GENERIC, false); 58 int arrayDesignId2 = TestArrayDesign.test_create(Platform.GENERIC, false); 59 56 60 TestReporter.test_import_from_file("data/test.rawdata.import.txt", 57 61 "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", "\\t", 4, 3); 58 62 TestArrayDesign.test_import_from_file(arrayDesignId, "data/test.rawdata.import.txt", 59 63 "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", null, 0, 2, 1, 4); 64 TestArrayDesign.test_import_from_file(arrayDesignId2, "data/test.rawdata.import.txt", 65 "\"Block\"\\t\"Column\"\\t\"Row\"\\t\"Name\"\\t\"ID\".*", null, 0, 2, 1, 4); 66 60 67 int softwareId = TestSoftware.test_create(SystemItems.getId(SoftwareType.FEATURE_EXTRACTION), null, false); 61 68 int protocolId = TestProtocol.test_create(SystemItems.getId(ProtocolType.FEATURE_EXTRACTION), null, false); … … 76 83 test_list_raw_data(id, 10, 5, 0, true); 77 84 85 // Test switch array design 86 test_change_arraydesign(id, arrayDesignId2); 87 78 88 // Test adding raw data -- stored in files 79 89 int celId = TestFile.test_create("data/test.affymetrix.cel", false, false); … … 94 104 TestHybridization.test_delete(hybridizationId); 95 105 TestArrayDesign.test_delete(arrayDesignId); 106 TestArrayDesign.test_delete(arrayDesignId2); 96 107 TestSoftware.test_delete(softwareId); 97 108 TestProtocol.test_delete(protocolId); … … 413 424 RawBioAssay rba = RawBioAssay.getById(dc, rawBioAssayId); 414 425 DataQuery<RawData> query = rba.getRawData(); 426 query.join(Hql.leftJoin(null, "feature", "ft", null, true)); 427 query.join(Hql.leftJoin(null, "reporter", "rep", null, true)); 415 428 query.setMaxResults(limit); 416 429 query.setFirstResult(offset); … … 647 660 if (dc != null) dc.close(); 648 661 } 649 } 662 } 663 664 static void test_change_arraydesign(int id, int arrayDesignId) 665 { 666 if (id == 0 || arrayDesignId == 0) return; 667 DbControl dc = null; 668 try 669 { 670 dc = TestUtil.getDbControl(); 671 RawBioAssay rba = RawBioAssay.getById(dc, id); 672 ArrayDesign ad = ArrayDesign.getById(dc, arrayDesignId); 673 ProgressReporter progress = TestUtil.getSilent() ? 674 null : new ConsoleProgressReporter(); 675 rba.updateArrayDesign(ad, null, progress); 676 dc.commit(); 677 write("--Change array design OK"); 678 } 679 catch (Throwable ex) 680 { 681 write("--Change array design FAILED"); 682 ex.printStackTrace(); 683 ok = false; 684 } 685 finally 686 { 687 if (dc != null) dc.close(); 688 } 689 } 690 650 691 } -
trunk/www/lims/arraydesigns/features/list_features.jsp
r4889 r5026 126 126 try 127 127 { 128 query.join(Hql.leftJoin(null, "reporter", "rpt", null, false));128 query.join(Hql.leftJoin(null, "reporter", "rpt", null, true)); 129 129 cc.configureQuery(dc, query, true); 130 130 if (!"row".equals(cc.getSortProperty())) query.order(Orders.asc(Hql.property("row"))); … … 135 135 { 136 136 cc.setMessage(t.getMessage()); 137 t.printStackTrace(); 137 138 } 138 139 int numListed = 0; -
trunk/www/views/rawbioassays/rawdata/list_rawdata.jsp
r4889 r5026 104 104 query.join(Hql.leftJoin(null, "reporter", "r", null, true)); 105 105 query.join(Hql.leftJoin(null, "feature", "f", null, true)); 106 query.join(Hql.leftJoin("f", "arrayDesignBlock", "b", null, true));107 106 cc.configureQuery(dc, query, true); 108 107 if (!"row".equals(cc.getSortProperty())) query.order(Orders.asc(Hql.property("row"))); … … 135 134 { 136 135 cc.setMessage(t.getMessage()); 136 t.printStackTrace(); 137 137 } 138 138 int numListed = 0;
Note: See TracChangeset
for help on using the changeset viewer.