public Builder() { this.context = new ValidationRunContext(); }
private void addToAocCache( CategoryOptionCombo aoc ) { context.getAocIdMap().put( aoc.getId(), aoc ); context.getAocUidMap().put( aoc.getUid(), aoc ); }
if ( threadPoolSize == 0 || context.getPeriodTypeXs().isEmpty() ) return context.getValidationResults(); List<List<OrganisationUnit>> orgUnitLists = Lists.partition( context.getOrgUnits(), ValidationRunContext.ORG_UNITS_PER_TASK ); reloadAttributeOptionCombos( context.getValidationResults(), categoryService ); return context.getValidationResults();
params.setOrganisationUnits( new HashSet<>( orgUnits ) ); params.setPeriodTypes( periodTypeX.getAllowedPeriodTypes() ); params.setCoDimensionConstraints( context.getCoDimensionConstraints() ); params.setCogDimensionConstraints( context.getCogDimensionConstraints() ); if ( context.getAttributeCombo() != null ) params.setAttributeOptionCombos( Sets.newHashSet( context.getAttributeCombo() ) );
aocValues.putEntries( context.getDefaultAttributeCombo().getUid(), nonAocValues ); context.getConstantMap(), null, period.getDaysInPeriod() );
private CategoryOptionCombo getAttributeOptionCombo( int id ) { CategoryOptionCombo aoc = context.getAocIdMap().get( id ); if ( aoc == null ) { log.trace("DataValidationTask calling getCategoryOptionCombo( id " + id + " )" ); aoc = categoryService.getCategoryOptionCombo( id ); log.trace("DataValidationTask called getCategoryOptionCombo( id " + id + ")" ); addToAocCache( aoc ); } return aoc; }
private CategoryOptionCombo getAttributeOptionCombo( String uid ) { CategoryOptionCombo aoc = context.getAocUidMap().get( uid ); if ( aoc == null ) { log.trace("DataValidationTask calling getCategoryOptionCombo( uid " + uid + " )" ); aoc = categoryService.getCategoryOptionCombo( uid ); log.trace("DataValidationTask called getCategoryOptionCombo( uid " + uid + ")" ); addToAocCache( aoc ); } return aoc; }
/** * Determines how many threads we should use for testing validation rules. * * @param context validation run context * @return number of threads we should use for testing validation rules */ private static int getThreadPoolSize( ValidationRunContext context ) { int threadPoolSize = SystemUtils.getCpuCores(); if ( threadPoolSize > 2 ) { threadPoolSize--; } int numberOfTasks = context.getNumberOfTasks(); if ( threadPoolSize > numberOfTasks ) { threadPoolSize = numberOfTasks; } return threadPoolSize; }