private Period getPeriod( int id ) { Period p = context.getPeriodIdMap().get( id ); if ( p == null ) { log.trace("DataValidationTask calling getPeriod( id " + id + " )" ); p = periodService.getPeriod( id ); log.trace("DataValidationTask called getPeriod( id " + id + " )" ); context.getPeriodIdMap().put( id, p ); } return p; }
@Override public long getCount( DataSet dataSet, Period period, OrganisationUnit organisationUnit ) { CriteriaBuilder builder = getCriteriaBuilder(); return getCount( builder, newJpaParameters() .addPredicate( root -> builder.equal( root.get( "period" ), periodService.reloadPeriod( period ) ) ) .addPredicate( root -> builder.equal( root.get( "organisationUnit" ), organisationUnit ) ) .addPredicate( root -> builder.equal( root.get( "dataSet" ), dataSet ) ) ); }
@Override public List<DataSet> getDataSetsByPeriodType( PeriodType periodType ) { PeriodType refreshedPeriodType = periodService.reloadPeriodType( periodType ); CriteriaBuilder builder = getCriteriaBuilder(); JpaQueryParameters<DataSet> parameters = newJpaParameters() .addPredicate( root -> builder.equal( root.get( "periodType" ), refreshedPeriodType ) ) ; return getList( builder, parameters ); }
@Override public void prunePeriods() { for ( Period period : periodService.getAllPeriods() ) { int periodId = period.getId(); try { periodService.deletePeriod( period ); log.info( "Deleted period with id: " + periodId ); } catch ( DeleteNotAllowedException ex ) { log.debug( "Period has associated objects and could not be deleted: " + periodId ); } } }
private Period getPeriod( String periodName, PeriodType periodType ) { Period period = PeriodUtil.getPeriod( periodName, periodType ); if ( period == null ) { return null; } Period persistedPeriod = periodService.getPeriod( period.getStartDate(), period.getEndDate(), periodType ); if ( persistedPeriod == null ) { periodService.addPeriod( period ); persistedPeriod = periodService.getPeriod( period.getStartDate(), period.getEndDate(), periodType ); } return persistedPeriod; }
@Override public List<ValidationResult> getValidationResults( OrganisationUnit orgUnit, boolean includeOrgUnitDescendants, Collection<ValidationRule> validationRules, Collection<Period> periods ) { List<Period> persistedPeriods = periodService.reloadPeriods( new ArrayList<>( periods ) ); return validationResultStore.getValidationResults( orgUnit, includeOrgUnitDescendants, validationRules, persistedPeriods ); } }
@Override @Transactional public List<DataSetCompletenessResult> getDataSetCompleteness( int periodId, Collection<Integer> organisationUnitIds, int dataSetId, Set<Integer> groupIds ) { final DataSet dataSet = dataSetService.getDataSet( dataSetId ); final Period period = periodService.getPeriod( periodId ); final List<Integer> periodsBetweenDates = getIdentifiers( periodService.getPeriodsBetweenDates( dataSet.getPeriodType(), period.getStartDate(), period.getEndDate() ) ); final Map<Integer, OrganisationUnit> orgUnits = Maps.uniqueIndex( organisationUnitService.getOrganisationUnits( organisationUnitIds ), OrganisationUnit::getId ); final Set<OrganisationUnitGroup> groups = groupIds != null ? Sets.newHashSet( idObjectManager.getObjects( OrganisationUnitGroup.class, groupIds ) ) : null; final List<DataSetCompletenessResult> results = new ArrayList<>(); for ( final Integer unitId : organisationUnitIds ) { final OrganisationUnit unit = orgUnits.get( unitId ); final Set<Integer> children = organisationUnitService.getOrganisationUnitHierarchy().getChildren( unit.getId() ); final Set<Integer> relevantSources = getRelevantSources( dataSet, children, groups ); final DataSetCompletenessResult result = getDataSetCompleteness( period, periodsBetweenDates, unit, relevantSources, dataSet ); if ( result.getSources() > 0 ) { results.add( result ); } } return results; }
int historyLength, I18nFormat format ) lastPeriod = periodService.reloadPeriod( lastPeriod ); List<Period> periods = periodService.getPeriods( lastPeriod, historyLength );
@Override public Period call() throws ExecutionException { return periodService.reloadIsoPeriod( id ); }
financialYearStart ); String periodString = getCommaDelimitedString( getIdentifiers( periodService.reloadPeriods( relativePeriods ) ) ); String isoPeriodString = getCommaDelimitedString( IdentifiableObjectUtils.getUids( relativePeriods ) );
public List<DataSetCompletenessResult> getDataSetCompleteness( int periodId, int organisationUnitId, Set<Integer> groupIds ) final Period period = periodService.getPeriod( periodId ); periodService.getPeriodsBetweenDates( dataSet.getPeriodType(), period.getStartDate(), period.getEndDate() ) );
private IdentifiableObject getPersistedObject( Preheat preheat, PreheatIdentifier identifier, IdentifiableObject ref ) { if ( Period.class.isInstance( ref ) ) { IdentifiableObject period = preheat.getPeriodMap().get( ref.getName() ); if ( period == null ) { period = periodService.reloadIsoPeriod( ref.getName() ); } if ( period != null ) { preheat.getPeriodMap().put( period.getName(), (Period) period ); } return period; } return preheat.get( identifier, ref ); }
@Override public DataApproval getDataApproval( DataApprovalLevel dataApprovalLevel, DataApprovalWorkflow workflow, Period period, OrganisationUnit organisationUnit, CategoryOptionCombo attributeOptionCombo ) { Period storedPeriod = periodService.reloadPeriod( period ); CriteriaBuilder builder = getCriteriaBuilder(); return getSingleResult( builder, newJpaParameters() .addPredicate( root -> builder.equal( root.get( "dataApprovalLevel" ), dataApprovalLevel ) ) .addPredicate( root -> builder.equal( root.get( "workflow" ), workflow ) ) .addPredicate( root -> builder.equal( root.get( "period" ), storedPeriod ) ) .addPredicate( root -> builder.equal( root.get( "organisationUnit" ), organisationUnit ) ) .addPredicate( root -> builder.equal( root.get( "attributeOptionCombo" ), attributeOptionCombo ) ) ); }
private void setPeriod( IdentifiableObject object ) { DataInputPeriod dataInputPeriod = (DataInputPeriod) object; Period period = periodService.getPeriod( dataInputPeriod.getPeriod().getIsoDate() ); dataInputPeriod.setPeriod( period ); sessionFactory.getCurrentSession().save( period ); } }
@Override public void update( ValidationRule validationRule ) { PeriodType periodType = periodService.reloadPeriodType( validationRule.getPeriodType() ); validationRule.setPeriodType( periodType ); super.save( validationRule ); }
params.setPeriods( new HashSet<>( periodService.reloadPeriods( new ArrayList<>( periods ) ) ) ); params.setOrganisationUnits( new HashSet<>( orgUnits ) ); params.setReturnParentOrgUnit( true );
@Override public void saveValidationResults( Collection<ValidationResult> validationResults ) { validationResults.forEach( validationResult -> { validationResult.setPeriod( periodService.reloadPeriod( validationResult.getPeriod() ) ); validationResultStore.save( validationResult ); } ); }
@Override public void processRow( ResultSet rs ) throws SQLException { int dataSetId = rs.getInt( 1 ); int periodId = rs.getInt( 2 ); LockException lockException = new LockException(); Period period = periodService.getPeriod( periodId ); DataSet dataSet = dataSetStore.get( dataSetId ); lockException.setDataSet( dataSet ); lockException.setPeriod( period ); lockExceptions.add( lockException ); } } );
@Override public void save( Predictor predictor ) { predictor.setPeriodType( periodService.reloadPeriodType( predictor.getPeriodType() ) ); super.save( predictor ); }
@Override public JFreeChart getJFreePeriodChart( Indicator indicator, OrganisationUnit unit, boolean title, I18nFormat format ) { List<Period> periods = periodService.reloadPeriods( new RelativePeriods().setLast12Months( true ).getRelativePeriods( format, true ) ); Chart chart = new Chart(); if ( title ) { chart.setName( indicator.getName() ); } chart.setType( ChartType.LINE ); chart.setDimensions( DimensionalObject.DATA_X_DIM_ID, DimensionalObject.PERIOD_DIM_ID, DimensionalObject.ORGUNIT_DIM_ID ); chart.setHideLegend( true ); chart.addDataDimensionItem( indicator ); chart.setPeriods( periods ); chart.getOrganisationUnits().add( unit ); chart.setHideSubtitle( title ); chart.setFormat( format ); return getJFreeChart( chart ); }