/** * Adds Periods to the context, grouped by period type. * * @param periodTypeXMap period type map to extended period types. * @param periods periods to group and add. */ private void addPeriodsToContext( Map<PeriodType, PeriodTypeExtended> periodTypeXMap, Collection<Period> periods ) { for ( Period period : periods ) { PeriodTypeExtended periodTypeX = getOrCreatePeriodTypeExtended( periodTypeXMap, period.getPeriodType() ); periodTypeX.addPeriod( period ); } generateAllowedPeriods( periodTypeXMap.values() ); }
getIdentifiableObjectIds( idsToGet, expressionIdMap, DataElementOperand.class, DataElement.class, CategoryOptionCombo.class ); getIdentifiableObjectIds( idsToGet, expressionIdMap, ProgramDataElementDimensionItem.class, Program.class, DataElement.class ); getIdentifiableObjectIds( idsToGet, expressionIdMap, ProgramTrackedEntityAttributeDimensionItem.class, Program.class, TrackedEntityAttribute.class ); getIdentifiableObjectIds( idsToGet, expressionIdMap, ProgramIndicator.class, ProgramIndicator.class ); (DataElement) idMap.getValue( DataElement.class, getIdPart( id, 0 ) ), (CategoryOptionCombo) idMap .getValue( CategoryOptionCombo.class, getIdPart( id, 1 ) ) ); (deo.getCategoryOptionCombo() != null || getIdPart( id, 1 ) == null) ) (Program) idMap.getValue( Program.class, getIdPart( id, 0 ) ), (DataElement) idMap.getValue( DataElement.class, getIdPart( id, 1 ) ) ); (Program) idMap.getValue( Program.class, getIdPart( id, 0 ) ), (TrackedEntityAttribute) idMap.getValue( TrackedEntityAttribute.class, getIdPart( id, 1 ) ) );
addPeriodsToContext( periodTypeXMap, parameters.getPeriods() ); addRulesToContext( periodTypeXMap, parameters.getRules() ); removeAnyUnneededPeriodTypes( periodTypeXMap );
Map<String, DimensionalItemObject> dimensionItemMap = getDimensionalItemObjects( allItemIds ); else if ( hasAttributeOptions( item ) )
String objectId = getIdPart( expressionId, i );
public Collection<ValidationResult> validationAnalysis( ValidationAnalysisParams parameters) { Clock clock = new Clock( log ).startClock().logTime( "Starting validation analysis" + ( parameters.getOrgUnit() == null ? "" : " for orgUnit " + parameters.getOrgUnit().getUid() + ( parameters.isIncludeOrgUnitDescendants() ? " with descendants" : "" ) ) + ", " + ( parameters.getPeriods().size() == 1 ? "period " + Iterables.getOnlyElement( parameters.getPeriods() ).getIsoDate() : parameters.getPeriods().size() + " periods" ) + ", " + parameters.getRules().size() + " rules" + ( parameters.isPersistResults() ? ", persisting results" : "" ) + ( parameters.isSendNotifications() ? ", sending notifications" : "" ) ); ValidationRunContext context = getValidationContext( parameters ); clock.logTime( "Initialized validation analysis" ); Collection<ValidationResult> results = Validator.validate( context, applicationContext, analyticsService ); if ( context.isPersistResults() ) { validationResultService.saveValidationResults( context.getValidationResults() ); } clock.logTime( "Finished validation analysis, " + context.getValidationResults().size() + " results").stop(); if ( context.isSendNotifications() ) { notificationService.sendNotifications( Sets.newHashSet( results ) ); } return results; }