/** * Returns TrackedEntityAttributes from ProgramTrackedEntityAttributes. Use * getAttributes() to access the persisted attribute list. */ public List<TrackedEntityAttribute> getTrackedEntityAttributes() { return programAttributes.stream() .map( at -> at.getAttribute() ) .collect( Collectors.toList() ); }
public static ProgramTrackedEntityAttribute createProgramTrackedEntityAttribute( char uniqueChar ) { ProgramTrackedEntityAttribute attribute = new ProgramTrackedEntityAttribute(); attribute.setAutoFields(); attribute.setName( "Attribute" + uniqueChar ); return attribute; }
public void removeAttribute( ProgramTrackedEntityAttribute attribute ) { attributes.remove( attribute ); attribute.getGroups().remove( this ); }
/** * Returns IDs of searchable TrackedEntityAttributes. */ public List<String> getSearchableAttributeIds() { return programAttributes.stream() .filter( pa -> pa.getAttribute().isSystemWideUnique() || pa.isSearchable() ) .map( ProgramTrackedEntityAttribute::getAttribute ) .map( TrackedEntityAttribute::getUid ) .collect( Collectors.toList() ); }
private List<ErrorReport> renderTypeConformsToConstrains( ProgramTrackedEntityAttribute ptea ) { List<ErrorReport> errorReports = new ArrayList<>(); DeviceRenderTypeMap<ValueTypeRenderingObject> map = ptea.getRenderType(); TrackedEntityAttribute attr = ptea.getAttribute(); if ( map == null ) { return errorReports; } for ( RenderDevice device : map.keySet() ) { if ( map.get( device ).getType() == null ) { errorReports .add( new ErrorReport( ProgramTrackedEntityAttribute.class, ErrorCode.E4011, "renderType.type" ) ); } if ( !ValidationUtils .validateRenderingType( ProgramTrackedEntityAttribute.class, attr.getValueType(), attr.hasOptionSet(), map.get( device ).getType() ) ) { errorReports.add( new ErrorReport( ProgramTrackedEntityAttribute.class, ErrorCode.E4020, map.get( device ).getType(), attr.getValueType() ) ); } } return errorReports; }
mandatoryMap.put( programTrackedEntityAttribute.getAttribute(), programTrackedEntityAttribute.isMandatory() );
ProgramTrackedEntityAttribute ptea = new ProgramTrackedEntityAttribute( program, attribute, false, false ); ptea.setAutoFields();
public ProgramTrackedEntityAttribute() { setAutoFields(); }
public void updateProgramTrackedEntityAttributeGroups( Set<ProgramTrackedEntityAttributeGroup> updates ) { for ( ProgramTrackedEntityAttributeGroup group : new HashSet<>( groups ) ) { if ( !updates.contains( group ) ) { removeGroup( group ); } } updates.forEach( this::addGroup ); }
/** * Returns display in list TrackedEntityAttributes */ public List<TrackedEntityAttribute> getDisplayInListAttributes() { return programAttributes.stream() .filter( pa -> pa.isDisplayInList() ) .map( ProgramTrackedEntityAttribute::getAttribute ) .collect( Collectors.toList() ); }
/** * Returns the ProgramTrackedEntityAttribute of this Program which contains * the given TrackedEntityAttribute. */ public ProgramTrackedEntityAttribute getAttribute( TrackedEntityAttribute attribute ) { for ( ProgramTrackedEntityAttribute programAttribute : programAttributes ) { if ( programAttribute != null && programAttribute.getAttribute().equals( attribute ) ) { return programAttribute; } } return null; }
public void addAttribute( ProgramTrackedEntityAttribute attribute ) { attributes.add( attribute ); attribute.getGroups().add( this ); }
/** * Indicates whether this program contains the given tracked entity * attribute. */ public boolean containsAttribute( TrackedEntityAttribute attribute ) { for ( ProgramTrackedEntityAttribute programAttribute : programAttributes ) { if ( attribute.equals( programAttribute.getAttribute() ) ) { return true; } } return false; }
public void removeAllAttributes() { for ( ProgramTrackedEntityAttribute attribute : attributes ) { attribute.getGroups().remove( this ); } attributes.clear(); }
private SetMap<Class<? extends IdentifiableObject>, IdentifiableObject> handleProgramTrackedEntityAttribute( SetMap<Class<? extends IdentifiableObject>, IdentifiableObject> metadata, ProgramTrackedEntityAttribute programTrackedEntityAttribute ) { if ( programTrackedEntityAttribute == null ) return metadata; metadata.putValue( ProgramTrackedEntityAttribute.class, programTrackedEntityAttribute ); handleAttributes( metadata, programTrackedEntityAttribute ); handleTrackedEntityAttribute( metadata, programTrackedEntityAttribute.getAttribute() ); return metadata; }
@Override public void deleteTrackedEntityAttribute( TrackedEntityAttribute trackedEntityAttribute ) { Collection<Program> programs = idObjectManager.getAllNoAcl( Program.class ); for ( Program program : programs ) { for ( ProgramTrackedEntityAttribute programAttribute : program.getProgramAttributes() ) { if ( programAttribute.getAttribute().equals( trackedEntityAttribute ) ) { program.getProgramAttributes().remove( programAttribute ); idObjectManager.updateNoAcl( program ); } } } }