Changeset 7303
- Timestamp:
- Mar 1, 2017, 3:36:09 PM (6 years ago)
- Location:
- trunk/src/core/net/sf/basedb/util/overview/loader
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/net/sf/basedb/util/overview/loader/DerivedBioAssayLoader.java
r7302 r7303 22 22 package net.sf.basedb.util.overview.loader; 23 23 24 import java.util.Collections; 24 25 import java.util.HashSet; 25 26 import java.util.List; … … 211 212 // We should only load derived bioassays that has a null extract or an 212 213 // extract that is found in the parent chain 213 Set<Integer> extractIds = getExtractChain( bioAssayNode);214 Set<Integer> extractIds = getExtractChain(dc, bioAssayNode); 214 215 if (extractIds.size() > 0) 215 { 216 // Since we don't know exactly how far upstreams the given extracts are we 217 // must first find all parent items (recursively) 218 Set<Integer> allParents = getAllExtractParents(dc, extractIds); 219 216 { 220 217 query.restrict( 221 218 Restrictions.or( … … 223 220 Restrictions.in(Hql.property("extract"), Expressions.parameter("extracts")) 224 221 )); 225 query.setParameter("extracts", allParents, Type.INT);222 query.setParameter("extracts", extractIds, Type.INT); 226 223 } 227 224 … … 254 251 // We should only load derived bioassays that has a null extract or an 255 252 // extract that is found in the parent chain 256 Set<Integer> extractIds = getExtractChain( parentNode);253 Set<Integer> extractIds = getExtractChain(dc, parentNode); 257 254 if (extractIds.size() > 0) 258 { 259 // Since we don't know exactly how far upstreams the given extracts are we 260 // must first find all parent items (recursively) 261 Set<Integer> allParents = getAllExtractParents(dc, extractIds); 262 255 { 263 256 query.restrict( 264 257 Restrictions.or( … … 266 259 Restrictions.in(Hql.property("extract"), Expressions.parameter("extracts")) 267 260 )); 268 query.setParameter("extracts", allParents, Type.INT);261 query.setParameter("extracts", extractIds, Type.INT); 269 262 } 270 263 … … 399 392 } 400 393 401 private Set<Integer> getExtractChain( Node node)394 private Set<Integer> getExtractChain(DbControl dc, Node node) 402 395 { 403 396 List<Node> extractNodes = node.findAll(new ItemTypeFilter(Item.EXTRACT)); … … 406 399 { 407 400 extractIds.add(n.getItem().getId()); 401 if (n.getParent() == null) 402 { 403 // We have reach the root node, continue to load parent extracts from here 404 SourceItemTransformer transformer = new ExtractToParentExtractTransformer(true); 405 extractIds.addAll(transformer.transform(new TransformContext(dc), Collections.singleton(n.getItem().getId()))); 406 407 } 408 408 } 409 409 return extractIds; 410 410 } 411 412 private Set<Integer> getAllExtractParents(DbControl dc, Set<Integer> extracts)413 {414 SourceItemTransformer transformer = new ExtractToParentExtractTransformer(true);415 return transformer.transform(new TransformContext(dc), extracts);416 }417 411 418 412 -
trunk/src/core/net/sf/basedb/util/overview/loader/RawBioAssayLoader.java
r7302 r7303 23 23 24 24 25 import java.util.Collections; 25 26 import java.util.HashSet; 26 27 import java.util.List; … … 205 206 // We should only load derived bioassays that has a null extract or an 206 207 // extract that is found in the parent chain 207 Set<Integer> extractIds = getExtractChain( bioAssayNode);208 Set<Integer> extractIds = getExtractChain(dc, bioAssayNode); 208 209 if (extractIds.size() > 0) 209 210 { 210 // Since we don't know exactly how far upstreams the given extracts are we211 // must first find all parent items (recursively)212 Set<Integer> allParents = getAllExtractParents(dc, extractIds);213 214 211 query.restrict( 215 212 Restrictions.or( … … 217 214 Restrictions.in(Hql.property("parentExtract"), Expressions.parameter("extracts")) 218 215 )); 219 query.setParameter("extracts", allParents, Type.INT);216 query.setParameter("extracts", extractIds, Type.INT); 220 217 } 221 218 … … 256 253 } 257 254 258 private Set<Integer> getExtractChain( Node node)255 private Set<Integer> getExtractChain(DbControl dc, Node node) 259 256 { 260 257 List<Node> extractNodes = node.findAll(new ItemTypeFilter(Item.EXTRACT)); … … 263 260 { 264 261 extractIds.add(n.getItem().getId()); 262 if (n.getParent() == null) 263 { 264 // We have reach the root node, continue to load parent extracts from here 265 SourceItemTransformer transformer = new ExtractToParentExtractTransformer(true); 266 extractIds.addAll(transformer.transform(new TransformContext(dc), Collections.singleton(n.getItem().getId()))); 267 268 } 265 269 } 266 270 return extractIds; 267 271 } 268 269 private Set<Integer> getAllExtractParents(DbControl dc, Set<Integer> extracts)270 {271 SourceItemTransformer transformer = new ExtractToParentExtractTransformer(true);272 return transformer.transform(new TransformContext(dc), extracts);273 }274 272 275 273 }
Note: See TracChangeset
for help on using the changeset viewer.