/** * 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; }
/** * Returns a {@link ProgramTrackedEntityAttributeDimensionItem}. * * @param idScheme the identifier scheme. * @param programId the program identifier. * @param attributeId the attribute identifier. */ private ProgramTrackedEntityAttributeDimensionItem getProgramAttributeDimensionItem( IdScheme idScheme, String programId, String attributeId ) { Program program = idObjectManager.getObject( Program.class, idScheme, programId ); TrackedEntityAttribute attribute = idObjectManager.getObject( TrackedEntityAttribute.class, idScheme, attributeId ); if ( program == null || attribute == null ) { return null; } return new ProgramTrackedEntityAttributeDimensionItem( program, attribute ); }
ProgramTrackedEntityAttributeDimensionItem pa = new ProgramTrackedEntityAttributeDimensionItem( (Program) idMap.getValue( Program.class, getIdPart( id, 0 ) ), (TrackedEntityAttribute) idMap.getValue( TrackedEntityAttribute.class, getIdPart( id, 1 ) ) ); if ( pa.getProgram() != null && pa.getAttribute() != null )
TrackedEntityAttribute attribute = element.getAttribute(); QueryItem item = new QueryItem( attribute, ( attribute.getLegendSets().isEmpty() ? null : attribute.getLegendSets().get( 0 ) ), attribute.getValueType(), attribute.getAggregationType(), attribute.getOptionSet() ); item.setProgram( element.getProgram() ); builder.addItem( item ); TrackedEntityAttribute attribute = element.getAttribute(); QueryItem item = new QueryItem( attribute, ( attribute.getLegendSets().isEmpty() ? null : attribute.getLegendSets().get( 0 ) ), attribute.getValueType(), attribute.getAggregationType(), attribute.getOptionSet() ); builder.addItemFilter( item );
dataDimensionItem.getProgramAttribute().setProgram( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataDimensionItem.getProgramAttribute().getProgram() ) ); dataDimensionItem.getProgramAttribute().setAttribute( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataDimensionItem.getProgramAttribute().getAttribute() ) );
addIdentifiers( map, dataDimensionItem.getProgramAttribute().getAttribute() ); addIdentifiers( map, dataDimensionItem.getProgramAttribute().getProgram() );