/** * Returns all programs part of program attributes and program data elements * part of a dimension or filter. */ public Set<IdentifiableObject> getProgramsInAttributesAndDataElements() { final Set<IdentifiableObject> programs = new HashSet<>(); getAllProgramAttributes().stream() .map( a -> (ProgramTrackedEntityAttributeDimensionItem) a) .filter( a -> a.getProgram() != null ) .forEach( a -> programs.add( a.getProgram() ) ); getAllProgramDataElements().stream() .map( d -> (ProgramDataElementDimensionItem) d) .filter( d -> d.getProgram() != null ) .forEach( d -> programs.add( d.getProgram() ) ); return programs; }
@Override public List<ProgramDataElementDimensionItem> getGeneratedProgramDataElements( String programUid ) { Program program = getProgram( programUid ); List<ProgramDataElementDimensionItem> programDataElements = Lists.newArrayList(); if ( program == null ) { return programDataElements; } for ( DataElement element : program.getDataElements() ) { programDataElements.add( new ProgramDataElementDimensionItem( program, element ) ); } Collections.sort( programDataElements ); return programDataElements; } }
ProgramDataElementDimensionItem pde = new ProgramDataElementDimensionItem( (Program) idMap.getValue( Program.class, getIdPart( id, 0 ) ), (DataElement) idMap.getValue( DataElement.class, getIdPart( id, 1 ) ) ); if ( pde.getProgram() != null && pde.getDataElement() != null )
DataElement dataElement = element.getDataElement(); QueryItem item = new QueryItem( dataElement, ( dataElement.getLegendSets().isEmpty() ? null : dataElement.getLegendSets().get( 0 ) ), dataElement.getValueType(), dataElement.getAggregationType(), dataElement.getOptionSet() ); item.setProgram( element.getProgram() ); builder.addItem( item ); DataElement dataElement = element.getDataElement(); QueryItem item = new QueryItem( dataElement, ( dataElement.getLegendSets().isEmpty() ? null : dataElement.getLegendSets().get( 0 ) ), dataElement.getValueType(), dataElement.getAggregationType(), dataElement.getOptionSet() ); item.setProgram( element.getProgram() ); builder.addItemFilter( item );
dataDimensionItem.getProgramDataElement().setProgram( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataDimensionItem.getProgramDataElement().getProgram() ) ); dataDimensionItem.getProgramDataElement().setDataElement( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataDimensionItem.getProgramDataElement().getDataElement() ) );
params.getProgramDataElements().forEach( pde -> dataElements.add( ((ProgramDataElementDimensionItem) pde).getDataElement() ) ); final List<DataElement> nonAggDataElements = FilterUtils.inverseFilter( asTypedList( dataElements ), AggregatableDataElementFilter.INSTANCE );
addIdentifiers( map, dataDimensionItem.getProgramDataElement().getDataElement() ); addIdentifiers( map, dataDimensionItem.getProgramDataElement().getProgram() );
/** * Returns a {@link ProgramDataElementDimensionItem}. * * @param idScheme the identifier scheme. * @param programId the program identifier. * @param dataElementId the data element identifier. */ private ProgramDataElementDimensionItem getProgramDataElementDimensionItem( IdScheme idScheme, String programId, String dataElementId ) { Program program = idObjectManager.getObject( Program.class, idScheme, programId ); DataElement dataElement = idObjectManager.getObject( DataElement.class, idScheme, dataElementId ); if ( program == null || dataElement == null ) { return null; } return new ProgramDataElementDimensionItem( program, dataElement ); }
protected ProgramDataElementDimensionItem createProgramDataElement( char name ) { Program pr = new Program(); pr.setUid( "P123456789" + name ); pr.setCode( "PCode" + name ); DataElement de = new DataElement( "Name" + name ); de.setUid( "D123456789" + name ); de.setCode( "DCode" + name ); return new ProgramDataElementDimensionItem( pr, de ); }