Changeset 3587
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/net/sf/basedb/core/plugin/AbstractAnalysisPlugin.java
r3585 r3587 31 31 import net.sf.basedb.core.BioAssaySet; 32 32 import net.sf.basedb.core.DbControl; 33 import net.sf.basedb.core.DynamicSpotQuery; 33 34 import net.sf.basedb.core.Experiment; 34 35 import net.sf.basedb.core.Item; … … 40 41 import net.sf.basedb.core.StringParameterType; 41 42 import net.sf.basedb.core.Transformation; 43 import net.sf.basedb.core.VirtualColumn; 44 import net.sf.basedb.core.query.Dynamic; 45 import net.sf.basedb.core.query.Expression; 46 import net.sf.basedb.core.query.Expressions; 47 import net.sf.basedb.core.query.Restrictions; 42 48 43 49 /** … … 414 420 } 415 421 416 422 /** 423 Restricts a query to only include values from listed bioassays 424 @param query The query to set restriction on 425 @param bioAssays A list with bioassays the restriction should include 426 @return A DynamicSpotQuery object. The query parameter is restricted if bioAssays holds item(s), 427 otherwise it will it will be the same 428 @since 2.4 429 */ 430 protected DynamicSpotQuery restrictSource(DynamicSpotQuery query, List<BioAssay> bioAssays) 431 { 432 if ( (bioAssays != null) && !bioAssays.isEmpty() ) 433 { 434 Expression[] selectedColumns = new Expression[bioAssays.size()]; 435 for (int i=0; i<selectedColumns.length; i++) 436 { 437 BioAssay ba = bioAssays.get(i); 438 selectedColumns[i] = Expressions.integer(ba.getDataCubeColumnNo()); 439 } 440 query.restrict(Restrictions.in( 441 Dynamic.column(VirtualColumn.COLUMN), 442 selectedColumns)); 443 } 444 return query; 445 } 417 446 } -
trunk/src/plugins/core/net/sf/basedb/plugins/JepExtraValueCalculator.java
r3584 r3587 23 23 */ 24 24 package net.sf.basedb.plugins; 25 26 import java.util.ArrayList;27 import java.util.Arrays;28 import java.util.Collection;29 import java.util.Collections;30 import java.util.EnumSet;31 import java.util.HashSet;32 import java.util.List;33 import java.util.Set;34 25 35 26 import net.sf.basedb.core.BaseException; … … 60 51 import net.sf.basedb.core.query.Dynamic; 61 52 import net.sf.basedb.core.query.Expression; 62 import net.sf.basedb.core.query.Expressions;63 53 import net.sf.basedb.core.query.Hql; 64 54 import net.sf.basedb.core.query.Orders; 65 import net.sf.basedb.core.query.Restrictions;66 55 import net.sf.basedb.core.query.Selects; 67 56 import net.sf.basedb.util.BioAssaySetUtil; 57 58 import java.util.ArrayList; 59 import java.util.Arrays; 60 import java.util.Collection; 61 import java.util.Collections; 62 import java.util.EnumSet; 63 import java.util.HashSet; 64 import java.util.List; 65 import java.util.Set; 68 66 69 67 /** … … 169 167 Expression extraExpression = BioAssaySetUtil.createJepExpression(dc, source, expression, false); 170 168 query.select(Selects.expression(extraExpression, "xtra")); 171 // If one or more bioassays are selected-restrict to them. 172 if (bioAssays != null && !bioAssays.isEmpty()) 173 { 174 Expression[] selectedColumns = new Expression[bioAssays.size()]; 175 for (int i=0; i<selectedColumns.length; i++) 176 { 177 BioAssay ba = bioAssays.get(i); 178 selectedColumns[i] = Expressions.integer(ba.getDataCubeColumnNo()); 179 } 180 query.restrict(Restrictions.in( 181 Dynamic.column(VirtualColumn.COLUMN), 182 selectedColumns)); 183 } 169 // Restrict to selected bioassays if there are any 170 query = restrictSource(query, bioAssays); 184 171 185 172 if (progress != null) progress.display(10, "Calculating extra value ("+source.getNumSpots()+" total)..."); -
trunk/src/plugins/core/net/sf/basedb/plugins/JepIntensityTransformer.java
r3473 r3587 27 27 import java.util.Arrays; 28 28 import java.util.Collection; 29 import java.util.Collections; 29 30 import java.util.EnumSet; 30 31 import java.util.HashSet; … … 33 34 34 35 import net.sf.basedb.core.BaseException; 36 import net.sf.basedb.core.BioAssay; 35 37 import net.sf.basedb.core.BioAssaySet; 36 38 import net.sf.basedb.core.DbControl; … … 92 94 93 95 private static final Set<Permissions> permissions = new HashSet<Permissions>(); 96 private static final Set<GuiContext> guiContexts = Collections.unmodifiableSet( 97 new HashSet<GuiContext>(Arrays.asList(CONTEXT_BIOASSAYSET, CONTEXT_BIOASSAYS))); 94 98 95 99 private RequestInformation configureJob; … … 139 143 // Get all parameters 140 144 BioAssaySet source = getSourceBioAssaySet(dc); 145 List<BioAssay> bioAssays = getSourceBioAssays(dc); 141 146 String childName = Values.getString((String)job.getValue(CHILD_NAME), source.getName()); 142 147 String childDescription = (String)job.getValue(CHILD_DESCRIPTION); … … 163 168 query.select(Dynamic.select(VirtualColumn.COLUMN)); 164 169 query.select(Dynamic.select(VirtualColumn.POSITION)); 170 171 // Restrict to selected bioassays 172 restrictSource(query, bioAssays); 165 173 166 174 // Transformation expressions … … 208 216 ------------------------------------------- 209 217 */ 218 @Override 219 public Set<GuiContext> getGuiContexts() 220 { 221 return guiContexts; 222 } 223 210 224 public RequestInformation getRequestInformation(GuiContext context, String command) 211 225 throws BaseException … … 235 249 // Source bioassay set 236 250 storeValue(job, request, ri.getParameter(SOURCE_BIOASSAYSET)); 251 252 // Selected bioassays 253 storeValue(job, request, ri.getParameter(SOURCE_BIOASSAYS)); 237 254 238 255 // Child name, description and transformation … … 275 292 // Source and child bioassay set parameters 276 293 parameters.add(getSourceBioAssaySetParameter(null, null)); 294 parameters.add(getSourceBioAssaysParameter(null, null)); 277 295 parameters.add(getChildNameParameter(null, null, bas.getName())); 278 296 parameters.add(getChildDescriptionParameter(null, null, null));
Note: See TracChangeset
for help on using the changeset viewer.